-1
即时建立图编辑器,它工作正常,拖动&拖放,复制和过去一切正常。但我有图像麻烦的问题。我有一个render()函数,每次更改都会运行。在渲染函数中,我调用appendImg代码。这是第一次运行渲染时完成的。但下一次,我进入else代码块,图像不会在画布上呈现。我有这个if.else逻辑她,因为如果我每次运行img.onload somthing改变图像加载每一次,我在屏幕上闪烁很多。 据我所知,当img obj与数组一起存储时,drawImage dosent就像它一样,而我似乎无法将它放在头上。HTML5画布和drawImage
var images = []; //An array where images are stored.
appendImg = function(inx, url, x, y, w, h) {
if (!images[inx]) {
var img = new Image();
img.onload = function()
{
dg_context.drawImage(img, x, y, w, h);
images[inx] = img;
}
img.src = url;
}else{
var img = images[inx];
console.log(img);
dg_context.drawImage(img, x, y, w, h);
}
}
不,is'nt它(我没有尝试)。但正如我所说:图像在第一次加载时加载,所以它在.onload内部工作。问题在于,当im在else代码块中时,图像似乎不会被加载。我做了一个console.log(img),它正在打印带有currekt url的标签。但是img只是在最后的drawImage上画出来的 – 2014-08-31 12:30:22