2016-11-09 19 views
0

Мне нужно манипулировать пикселями в изображении и сохранять целочисленные значения (0-255) в значениях RGBA.imageData print wrong value

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 

Поскольку присвоенное значение не то же самое, как спасенное значение ???

Спасибо!

ответ

0

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

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