我正在使用 canvasContext.getImageData(0, 0, 1, 1).data 来检索图像上的像素信息。它适用于除 IE9 以外的所有浏览器。在随机时间像素信息不可用,它返回 0 而不是预期的 255。
我正在图像的 onload 事件中执行 getImageData 代码。图像 src 是在我创建 onload 函数后定义的。
我目前对 IE9 的破解是:
var image = new Image();
image.onload = function (e) {
while (canvasContext.getImageData(0, 0, 1, 1).data[0] == 0) {
canvasContext.drawImage(image, 0, 0, 200, 2);
}
// Do other important stuff
}
image.src = "someImage.png";
发生的情况是 while 循环运行了大约 30-60 次,然后它最终检索像素信息。
关于为什么在 IE9 中发生这种情况的任何帮助都会很棒!
谢谢。