有一个 3x3 的图像。CanvasPixelArray 是:
[12,24,48,255,12,24,48,255,12,24,48,255,12,24,48,255,12,24,48,255,12,24,48,255,12,24,48,255,12,24,48,255,12,24,48,255]
我通过以下方式将所有像素的 alpha 更改为 0 并返回:
bobs = this.gfx.getImageData(0,0,3,3).data
for (a=3;a<bobs.data.length;a+=4)
bobs.data[a] = 0
this.gfx.putImageData(bobs,0,0)
bobs = this.gfx.getImageData(0,0,3,3).data
for (a=3;a<bobs.data.length;a+=4)
bobs.data[a] = 255
this.gfx.putImageData(bobs,0,0)
所有像素都变黑了。浏览器将颜色更改为黑色以节省内存。有没有办法防止这种情况,或者我应该保存一个副本?