5

私が持っているとしましょう:

Img = new Image();
img.src = 'test.png';

その画像からピクセルをチェックして、x= 10; y = 16;そのRGBAデータを返す方法はありますか? または、特定のピクセルを照会するためにピクセル配列を作成する必要がありますか...画像srcをセットアップするときにピクセル配列が作成されるかどうかはわかりませんか?

4

1 に答える 1

3

<canvas>あなたはそれを最初に描く必要があります。これは、画像が同じドメインからのものである場合にのみ機能します(これは、指定した例にあります)

img = new Image();
img.src = "test.png";
img.onload = function() {
  var c = document.createElement('canvas'), d, img = this;
  if( c.getContext) {
    c.width = img.width;
    c.height = img.height;
    c = c.getContext("2d");
    c.drawImage(img,0,0);
    d = c.getImageData(0,0,img.width,img.height);
    img.getPixel = function(x,y) {
      return d.slice((y*img.width+x)*4,4);
    };
  }
  else {
    // canvas not supported, fall back
    img.getPixel = function(x,y) {return [0,0,0,0];}
  }
};

次に、画像で関数を呼び出すことができます。

alert(img.getPixel(10,16));
// alerts something like 190,255,64,255
于 2012-12-12T03:35:35.640 に答える