Zeichnen Bild aus pixel-array auf Leinwand mit putImageData
Ich bin an einem Projekt arbeiten können, verschlüsseln Sie ein Bild und zeichnen das entschlüsselte Bild auf Leinwand. Als ich bin noch ziemlich neu in Codierung und Programmierung, bin ich derzeit Probleme mit dem Neuzeichnen der entschlüsselten Bilddaten, welches ein pixel-array in der form R,G,B,A. ich dachte, dies würde möglich sein, einfach, indem ich die Daten in
ctx.putImageData(imgd,0,0);
Aber firebug sagt mir, dass der Wert nicht implementieren die Schnittstelle für die Bilddaten. Ich habe das gesamte array hier. Das Bild ist 160px Breite und 120px hoch.
Gibt es eine Möglichkeit zu formatieren das array so, dass es drawable auf der Leinwand?
- Was ist
imgd
? - Bart - es ist nur der variable i zugewiesen das array
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt
imgd
ist einfach ein Array, in dem alle byte-Werte, die Sie noch brauchen, um zu konvertieren das array Bilddaten.var imgData = new ImageData(new Uint8ClampedArray(imgd), 160, 120)
?Verwendung Uint8 können Sie diese viel schneller:
Keine Notwendigkeit zu gehen, byte-by-byte, es sei denn, Sie ändern die Werte zuerst.
var palette = new ImageData(new Uint8ClampedArray(img), 160, 120)
?