Canvas data 屬性

定義和用法

data 屬性返回一個對象,該對象包含指定的 ImageData 對象的圖像數據。

對于 ImageData 對象中的每個像素,都存在著四方面的信息,即 RGBA 值:

  • R - 紅色 (0-255)
  • G - 綠色 (0-255)
  • B - 藍色 (0-255)
  • A - alpha 通道 (0-255; 0 是透明的,255 是完全可見的)

color/alpha 以數組形式存在,并存儲于 ImageData 對象的 data 屬性中。

例子:

將 ImageData 對象中的第一個像素變為紅色的語法:

imgData=ctx.createImageData(100,100);
imgData.data[0]=255;
imgData.data[1]=0;
imgData.data[2]=0;
imgData.data[3]=255;

將 ImageData 對象中的第二個像素變為綠色的語法:

imgData=ctx.createImageData(100,100);
imgData.data[4]=0;
imgData.data[5]=255;
imgData.data[6]=0;
imgData.data[7]=255;

提示:請參閱 createImageData()getImageData() 以及 putImageData() 方法,以獲得更多關于 ImageData 對象的知識。

實例

創建 100*100 像素的 ImageData 對象,其中每個像素均被設置為紅色::

Your browser does not support the canvas tag.

JavaScript:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var imgData=ctx.createImageData(100,100);
for (var i=0;i<imgData.data.length;i+=4)
  {
  imgData.data[i+0]=255;
  imgData.data[i+1]=0;
  imgData.data[i+2]=0;
  imgData.data[i+3]=255;
  }
ctx.putImageData(imgData,10,10);

親自試一試

語法

imageData.data;

瀏覽器支持

表中的數字注明了首個完全支持該屬性的瀏覽器版本。

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
4.0 9.0 3.6 4.0 10.1

注釋:Internet Explorer 8 以及更早的版本不支持 <canvas> 元素。