Hanane Evancho
Hanane Evancho

Reputation: 33

create a 2d array of image pixels using canvas html5

hello Guys i was trying to copy an image pixel to a matrix so i can use it later. i was wondering if i was using the matrix in js correctly since i am a begginer thanks

<canvas id="Canvas" >  
     Navigator doesnt support canvas 
  </canvas>
      <script type="text/javascript">


  var img = new Image();

  img.src = "jj.JPG"; // Set source path

 img.onload = function() {
var matrix = [];
context.putImageData(idata, 0, 0);

for(var y = 0; y < canvas.height; y++) {

 matrix[y] = [];
for(var x = 0; x < canvas.width; x++){


var imgd = context.getImageData(x, y, canvas.width, canvas.height);
var pix = imgd.data;

var pos = (y * canvas.width + x) * 4; 
    matrix[y][pos]= pix[pos];;     //red      
    matrix[y][pos+1] =pix[pos+1];;    //bleu      
    matrix[y][pos+2]= pix[pos+2];;   //green       
    matrix[y][pos+3]= 255;          //alpha
}
  }
 </script>

 </body>
 </html>

Upvotes: 2

Views: 1836

Answers (2)

Hanane Evancho
Hanane Evancho

Reputation: 33

for(var y = 0; y < canvas.height; y++) {//ligne

for(var x = 0; x < canvas.width; x++){
//colonne

var imgd = context.getImageData(x, y, canvas.width, canvas.height);

   var pix = imgd.data;


    var pos = (y * canvas.width + x) * 4; // position de pixel
    matrix[pos]= pix[pos];;           // some R value [0, 255]
    matrix[pos+1] =pix[pos+1];;           // some G value
    matrix[pos+2]= pix[pos+2];;           // some B value
    matrix[pos+3]= 255;           // set alpha channel
    }
  }
   return matrix;

 }

Upvotes: 0

Hanane Evancho
Hanane Evancho

Reputation: 33

for(var y = 0; y < canvas.height; y++) {//ligne
 matrix[y] = [];
for(var x = 0; x < canvas.width; x++){
//colonne

var imgd = context.getImageData(x, y, canvas.width, canvas.height);
var pix = imgd.data;


    var pos = (y * canvas.width + x) * 4; // position de pixel
    matrix[pos]= pix[pos];;           // some R value [0, 255]
    matrix[pos+1] =pix[pos+1];;           // some G value
    matrix[pos+2]= pix[pos+2];;           // some B value
    matrix[pos+3]= 255;           // set alpha channel
    }
 }
   return matrix;

}

Upvotes: 1

Related Questions