在clearRect之后无法在画布上绘制图像

时间:2012-08-29 23:07:56

标签: javascript html canvas html5-canvas

我在使用以下代码时遇到了一些问题。基本上这包含在图像上传器中。因此,一旦上传程序完成其回调,就会执行以下代码:

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;

所以这是第一次。但我预计它也会随后发挥作用。因此,当上载另一个图像时,将清除画布并绘制该图像。相反,所发生的是画布被清除但没有进一步的绘图......

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

替换

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

使用:

canvas.width=canvas.width;