Canvasデータ属性

定義と用法

data 属性は、指定されたImageDataオブジェクトの画像データを含むオブジェクトを返します。

ImageDataオブジェクトの各ピクセルには、RGBA値の4つの情報があります:

  • R - 赤色 (0-255)
  • G - 緑色 (0-255)
  • B - 青色 (0-255)
  • A - アルファチャンネル (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> 要素をサポートしていません。