2012-08-29 93 views
1

我在下面的代碼中遇到了一些問題。本質上這是包裝在一個圖像上傳。因此,一旦上傳者完成其回調,將執行以下代碼:clearRect後無法在畫布上繪製圖像

var c = canvas.getContext('2d'); 
var logoImage = new Image(); 
logoImage.onload = function() { 

    c.clearRect(0, 0, canvas.width, canvas.height); 
    c.drawImage(logoImage, 0, 0, 200, 300); // i've simplified this call... 
} 
logoImage.src = "/path/to/" + fileName; 

因此,這是第一次。但我預計它也會在後續工作。因此,當上傳另一個圖像時,畫布被清除並且該圖像被繪製。相反,發生的是畫布被清除,但沒有進一步的繪圖發生...

任何想法?

+0

嘗試通過http://jsfiddle.net/張貼一個例子 –

+0

您發佈的代碼看起來很好,所以我們將需要更多信息。如果在'c.clearRect'之前添加'console.log(「over'er」)',它每次都會在控制檯中顯示嗎? – Jarrod

+0

似乎文件名有一些問題!檢查你的代碼,你得到的圖像和警報文件名,以檢查它是否正確與否! – MJQ

回答

1

試試這個:

更換

c.clearRect(0, 0, canvas.width, canvas.height); 

有:

canvas.width=canvas.width;