imageData печатает неправильное значение

Мне нужно манипулировать пикселями в изображении и сохранять целочисленные значения (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

Потому что назначенное значение не совпадает со спасенным значением???

Спасибо!

1 ответ

Когда вы изменяете альфа пикселя RGBA, браузер обновляет значения других цветов (RGB). Например, если используется альфа = 0, значения RGB также будут 0.

Чтобы решить эту проблему, присвойте альфа-значение 255, чтобы оно не влияло на другие значения.

Другие вопросы по тегам