imageData打印错误的值

时间:2016-11-09 02:39:55

标签: pixels getimagedata putimagedata

我需要操纵图像中的像素并在RGBA值中保存整数值(0-255)。

let imageData = this.context.getImageData(0, 0, this.width, this.height);
imageData.data[1448] = 10;
imageData.data[1449] = 20;
imageData.data[1450] = 30;
imageData.data[1451] = 40;
this.context.putImageData(imageData, 0, 0);

再次获取ImageData并在各自的索引中打印值后,结果如下:

IDX 1448: 13

IDX 1449: 19,

IDX 1450: 32

IDX 1451: 40

因为分配的值与获救的值???

不同

谢谢!

1 个答案:

答案 0 :(得分:0)

当您更改RGBA像素的alpha时,浏览器将更新其他颜色(RGB)的值。例如,如果使用alpha = 0,则RGB值也为0.

要解决此问题,请将值255分配给alpha,这样就不会影响其他值。