トップページ  > Canvas  > putImageData(imagedata, dx, dy [, dirtyX, dirtyY, dirtyWidth, dirtyHeight ])

★Canvasリファレンス

context . putImageData(imagedata, dx, dy [, dirtyX, dirtyY, dirtyWidth, dirtyHeight ]) …… ImageDataオブジェクトを描画する
Internet Explorer9 Firefox2Firefox3Firefox4 Google Chrome2Google Chrome3Google Chrome4Google Chrome5Google Chrome6 Safari4Safari5 Opera9Opera10

putImageData(imagedata, dx, dy [, dirtyX, dirtyY, dirtyWidth, dirtyHeight ])メソッドは、 ImageDataオブジェクトを描画する際に使用します。

引数imageは、描画するImageDataオブジェクトを表します。 引数(dx, dy)は、描画するImageDataオブジェクトを配置するcanvas上の座標を表します。

引数(dirtyX, dirtyY, dirtyWidth, dirtyHeight)は省略可能ですが、 指定するとImageDataオブジェクトの描画範囲を規定する矩形を表します。 省略した場合の初期値は、(0, 0, ImageDataオブジェクトの幅, ImageDataオブジェクトの高さ)となります。

putImageData()メソッドの呼び出しでは、 globalAlpha属性・ globalCompositeOperation属性・ shadow属性などは無視され、 canvas内のピクセルは合成・透明化・影などの対象にならずに置き換えられます。

■引数(値)の説明

imagedata
描画するImageDataオブジェクト
dx
描画するImageDataオブジェクトを配置するx座標
dy
描画するImageDataオブジェクトを配置するy座標
dirtyX
ImageDataオブジェクトの描画範囲を規定する矩形の開始x座標
dirtyY
ImageDataオブジェクトの描画範囲を規定する矩形の開始y座標
dirtyWidth
ImageDataオブジェクトの描画範囲を規定する矩形の幅
dirtyHeight
ImageDataオブジェクトの描画範囲を規定する矩形の高さ

■使用例

HTML + JavaScriptソース

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvasで図形を描く</title>
<script type="text/javascript">
<!--
//Imageオブジェクトを生成して、画像ファイルを先読みしておく
var img01 = new Image();
img01.src = "../images/kaeru.gif";

function test() {
  //描画コンテキストの取得
  var canvas = document.getElementById('sample');
  if (canvas.getContext) {
    var context = canvas.getContext('2d');
    //座標(10, 10)の位置に、サイズ100×75でイメージを表示
    context.drawImage(img01, 10, 10, 100, 75);

    //座標(0, 0)から幅50高さ40の範囲を取得
    var img02 = context.getImageData(0, 0, 100, 75);
    //座標(100, 20)の位置に、取得したImageDataオブジェクトを描画
    context.putImageData(img02, 50, 50);
  }
}
//-->
</script>
</head>
<body onLoad="test()">
<h2>Canvasで図形を描く</h2>
<canvas width="300" height="150" id="sample" style="background-color:yellow;">
図形を表示するには、canvasタグをサポートしたブラウザが必要です。
</canvas>
</body>
</html>
↓↓↓

ブラウザ上の表示

Canvasで図形を描く

図形を表示するには、canvasタグをサポートしたブラウザが必要です。

上のサンプルでは、getImageData(0, 0, 100, 75) で取得した範囲を、putImageData(imagedata, 50, 50) で描画しています。

■関連項目

<canvas> …… 図形を描くHTML5から追加
▲ページ先頭へ
トップページ  > Canvas  > putImageData(imagedata, dx, dy [, dirtyX, dirtyY, dirtyWidth, dirtyHeight ])
PR
MuuMuu Domain!
ドメイン取るならお名前.com
さくらのレンタルサーバ
ロリポップ!レンタルサーバー
HTMLクイックリファレンスについて
© HTMQ