最新のWeb開発のチュートリアル
 

HTML canvas getImageData() Method

<HTMLキャンバスリファレンス

キャンバス上の指定矩形のコピー画素データを以下のコードgetImageData()その後、バックでキャンバスに画像データを入れputImageData()

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="red";
ctx.fillRect(10,10,50,50);

function copy()
{
var imgData=ctx.getImageData(10,10,50,50);
ctx.putImageData(imgData,10,70);
}
»それを自分で試してみてください

ブラウザのサポート

表中の数字は完全に方法をサポートする最初のブラウザのバージョンを指定します。

方法
getImageData() はい 9.0 はい はい はい

定義と使用法

getImageData()メソッドは、キャンバス上の指定した矩形のコピーピクセルデータをことのImageDataオブジェクトを返します。

注:のImageDataオブジェクトが画像ではありません、それはキャンバス上の部分(長方形)を指定し、その長方形の中の全ての画素の情報を保持しています。

ImageDataオブジェクト内のすべてのピクセルのための4つの情報、RGBA値があります。

R - (0〜255)赤色
G - (0〜255)カラーグリーン
B - (0〜255)カラーブルー
-アルファチャンネル(0〜255; 0は透明であり、255は完全に見えています)

カラー/アルファ情報は、アレイ内に保持されており、中に格納されdataのImageDataオブジェクトのプロパティ。

ヒント:あなたは、アレイ内のカラー/アルファ情報を操作した後、あなたが戻ってキャンバスに画像データをコピーすることができputImageData()メソッド。

例:

返されたのImageDataオブジェクトの最初のピクセルの色/アルファ情報を取得するためのコード:

red=imgData.data[0];
green=imgData.data[1];
blue=imgData.data[2];
alpha=imgData.data[3];
»それを自分で試してみてください

ヒント:また使用することができますgetImageData()キャンバス上の画像のすべてのピクセルの色を反転させる方法を。

すべての画素をループし、この式を用いて色の値を変更します。

red=255-old_red;
green=255-old_green;
blue=255-old_blue;

「自分でそれを試してみてください」とは、例えば、以下を参照してください!


JavaScriptの構文

JavaScriptシンタックス: context.getImageData(x,y,width,height);

パラメーター値

パラメーター 説明
x 左上隅のX(ピクセル)座標からコピーを開始します
y 左上隅のy座標(ピクセル単位)座標からコピーを開始します
width あなたがコピーする矩形領域の幅
height あなたがコピーする矩形領域の高さ

その他の例

使用するイメージ:

スクリーム

使用getImageData()キャンバス上の画像のすべてのピクセルの色を反転します:

YourbrowserdoesnotsupporttheHTML5canvastag。

JavaScriptを:

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,0,0);
var imgData=ctx.getImageData(0,0,c.width,c.height);
// invert colors
for (var i=0;i<imgData.data.length;i+=4)
  {
  imgData.data[i]=255-imgData.data[i];
  imgData.data[i+1]=255-imgData.data[i+1];
  imgData.data[i+2]=255-imgData.data[i+2];
  imgData.data[i+3]=255;
  }
ctx.putImageData(imgData,0,0);
»それを自分で試してみてください

<HTMLキャンバスリファレンス