清除画布后无法在画布上绘制图像。

3

我遇到了以下代码的一些问题。实际上,这是包含在图像上传器中的。因此,一旦上传器完成其回调,以下代码将被执行:

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
尝试通过http://jsfiddle.net/发布一个示例。 - Alex Wayne
1
您发布的代码看起来很好,但我们需要更多信息。如果在 c.clearRect 之前添加 console.log("over 'er"),它是否每次都会在控制台中显示? - Jarrod
1
似乎文件名有问题!请检查你的代码,在获取图片时警告文件名以检查其是否正确! - MJQ
1个回答

0
尝试这个:
替换

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

使用:

canvas.width=canvas.width;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接