-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