我正在使用“蒙版”图像作为输入,将其绘制到画布上,然后使用getImageData来检测像素的颜色。
这在Safari,Chrome,Firefox,他们的移动版本和Android的股票浏览器下完美运行。它也适用于IE11(我目前作为虚拟机使用的唯一版本)。
在IE10 Mobile下,它的显示完全错误。
我整理了一个JSFiddle来证明这个问题。在兼容的浏览器上,它应显示两个网格。第一个是白色和红色(红色是我选择的面具颜色),第二个是加工版本;黑与白。
像这样:
然而,Windows Phone 8上的IE10 Mobile使它完全错误,有点像这样:
(忽略JPEG工件,这是共享屏幕截图的副作用)。
实际绘图代码非常简单:
var source = document.createElement('canvas');
source.width = this.width;
source.height = this.height;
source.getContext('2d').drawImage(this, 0, 0);
body.appendChild(source);
正如您在fiddle中所看到的,我试图以各种方式禁用图像平滑,但没有成功。有谁知道为什么这不起作用,以及如何解决它?