書式
コンテキスト.getImageData(x,y,w,h)
属性
属性名/パラメーター |
内 容 |
x |
X座標を指定します。 |
y |
Y座標を指定します。 |
w |
取得する横幅を指定します。 |
h |
取得する縦幅を指定します。 |
説明
Canvas内に描画されている画像/ピクセルデータを読み出します。読み出した結果はJavaScriptの配列に格納されます(通常の配列でありTyped Arrayではありません。つまりUInt8Array配列では返されません)。ピクセルデータはgetImageData()により読み出したオブジェクトのdataプロパティに格納されています。配列の4つの要素で1ピクセルを示します。これは「赤の輝度」「緑の輝度」「青の輝度」「不透明度(αチャンネル)」の順番になっています。10ピクセルであれば10×4=40要素の配列になります。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sample</title>
<script>
window.onload = function(){
var canvasObj = document.getElementById("imgCanvas");
var context = canvasObj.getContext("2d");
var imgObj = new Image();
imgObj.src = "photo.jpg";
imgObj.onload = function(){
context.drawImage(imgObj, 0, 0);
var canvasImage = context.getImageData(0,0, 16, 16);
var pixels = canvasImage.data;
var ele = document.getElementById("result");
ele.innerHTML = "ピクセル総数:"+pixels.length/4;
}
}
</script>
</head>
<body>
<h1>Sample</h1>
<canvas id="imgCanvas" width="320" height="240" style="border:1px black solid"></canvas>
<div id="result"></div>
</body>
</html>