Dibuje la imagen de la matriz de píxeles en el lienzo con putImageData

Estoy trabajando en un proyecto que puede cifrar una imagen y volver a dibujar la imagen desencriptada en el lienzo. Como todavía soy bastante nuevo en codificación y programación, actualmente tengo problemas para volver a dibujar los datos de la imagen desencriptada, que es una matriz de píxeles en la forma R, G, B, A. Pensé que esto sería posible simplemente poniendo los datos en

ctx.putImageData(imgd,0,0);

Pero firebug me dice que el valor no implementa la interfaz para imagedata. He publicado toda la serieaquí. La imagen es de 160px de ancho y 120px de alto.

¿Hay alguna forma de reformatear la matriz para que pueda dibujarse en el lienzo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta