0

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

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

因为赋值的值和救出来的值不一样???

谢谢!

4

1 回答 1

0

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

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

于 2016-11-09T04:43:19.270 回答