Tengo el siguiente código relacionado con el tema de pixelado del hilo de desafíos javascript 2014:
http://jsfiddle.net/jefebrondem/745Ds/4/
El problema es con el siguiente código en particular:
Código Javascript:
Desearía conservar una copia del elemento imageData para poder pixelarlo de varias formas a partir del original. Para ello he creado una copia con la función Object.create y he pasado esta copia para pixelar. Todo funciona bien hasta que paso el resultado de la función pixelar al argumento de putImageData. He debugueado y no acabo de entender por qué, pues newImageData es también del tipo ImageData.Ver original
btn.onclick=function(){ btn.setAttribute("disabled","disabled"); var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); console.log( imageData.data[0] ); //setInterval( function(){ console.time( 'a' ); var copy = Object.create( imageData ); console.log( copy.data[0] ); var newImageData = pixelar(copy,canvas.width,canvas.height,pixeles); console.timeEnd( 'a' ); console.log( newImageData.data[0] ); ctx.putImageData( newImageData, 0, 0); console.log('eo'); //},1000 ); //console.log( imageData.data[0] ); }
Un saludo y gracias!