可以'清除Rect后,不要在画布上绘制图像

can't draw image on canvas after clearRect

本文关键字:图像 绘制 清除 Rect 可以      更新时间:2023-09-26

我在下面的代码中遇到了一些问题。从本质上讲,这是在一个图像上传器中完成的。因此,一旦上传器完成回调,就会执行以下代码:

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;

所以这是第一次。但我预计它在以后的时候也会起作用。因此,当上传另一个图像时,画布将被清除,并绘制该图像。相反,画布被清除了,但没有进行进一步的绘制。。。

有什么想法吗?

试试这个:

更换

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

带有:

canvas.width=canvas.width;