HTML canvas createImageData() メソッド

❮ HTML Canvas リファレンス

すべてのピクセルが赤である 100*100 ピクセルの ImageData オブジェクトを作成し、キャンバスにそれを配置します:

YourbrowserdoesnotsupporttheHTML5canvastag.

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);
Try it Yourself ❯

ブラウザ・サポート

表中の数字は、メソッドを完全にサポートした最初のブラウザ・バージョンを指定しています。

メソッド
createImageData() Yes 9.0 Yes Yes Yes


定義と用法

createImageData() メソッドは、新しい空の ImageData オブジェクトを作成します。 新しいオブジェクトのピクセル値は、デフォルトで透明な黒です。

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

R - 赤 (0 ~ 255)
G - 緑 (0 ~ 255)
B - 青 (0 ~ 255)
A - αチェンネル (0 ~ 255;0 は透明で、255 は完全不透明)

以上から、(0,0,0,0) は透明な黒を示します。

色/アルファ情報は配列に格納され、配列にはピクセル毎に 4 個の情報が含まれているので、 配列のサイズは ImageData オブジェクトの 4 倍の大きさになります:width*height*4。 (配列のサイズを知るための簡単な方法は、ImageDataObject.data.length を使用することです)

色/アルファ情報を含む配列は、ImageData オブジェクトの data プロパティに格納されています。

チップ: 配列の色/アルファ情報を操作した後で、putImageData() メソッドでキャンバスを戻した (操作する前の配列に戻した)画像データをコピーすることができます。

例:

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;

JavaScript 構文

createImageData() メソッドの 2 つのバージョンがあります:

1. これは、指定の大きさ(ピクセル指定)を持つ新しい ImageData オブジェクトを作成します:

JavaScript 構文: var imgData=context.createImageData(width,height);

2. これは、anotherImageData によって指定されたオブジェクトと同じ大きさの新しい ImageData オブジェクトを作成します (これは、画像データのコピーではありません):

JavaScript 構文: var imgData=context.createImageData(imageData);

パラメータの値

パラメータ 説明
width 新しい ImageData オブジェクトの幅(ピクセル単位)
height 新しい ImageData オブジェクトの高さ(ピクセル単位)
imageData anotherImageData オブジェクト

HTML canvas Reference HTML Canvas リファレンス