2016-11-09 6 views
0

Ich muss Pixel in einem Bild bearbeiten und ganzzahlige Werte (0-255) in RGBA-Werten speichern.imageData print falscher Wert

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); 

Nach Imagedata erhalten wieder und Druckwerte in ihren jeweiligen Indizes, dies ist das Ergebnis:

IDX 1448: 13 

IDX 1449: 19, 

IDX 1450: 32 

IDX 1451: 40 

Da zugewiesen der Wert nicht der gleiche wie der geretteten Wert ???

Danke!

Antwort

0

Wenn Sie das Alpha eines RGBA-Pixels ändern, aktualisiert der Browser die Werte der anderen Farben (RGB). Wenn Sie beispielsweise alpha = 0 verwenden, sind die RGB-Werte ebenfalls 0.

Um dieses Problem zu beheben, weisen Sie alpha den Wert 255 zu, sodass die anderen Werte nicht beeinträchtigt werden.