書式
コンテキスト.drawImage(imageObj,x,y)
コンテキスト.drawImage(imageObj,x,y,w,h)
コンテキスト.drawImage(imageObj,srcX,srcY,srcW,srcH,x,y,w,h)
属性
属性名/パラメーター |
内 容 |
imageObj |
画像オブジェクトを指定します。HTML文書内の画像やCanvas要素、Video要素も指定できます。 |
x |
X座標を指定します。 |
y |
Y座標を指定します。 |
w |
表示する画像の横幅を指定します。 |
h |
表示する画像の縦幅を指定します。 |
srcX |
表示する画像上の開始X座標を指定します。(クリッピングX座標) |
srcY |
表示する画像上の開始Y座標を指定します。(クリッピングY座標) |
srcW |
表示する画像の横幅を指定します。(クリッピングの横幅) |
srcH |
表示する画像の縦幅を指定します。(クリッピングの縦幅) |
説明
指定した位置に画像を表示します。パラメータの数によって表示処理が異なるので注意が必要です。
描画する画像を拡大縮小した場合、ブラウザによって描画結果が異なります。また、drawImage()はlineTo()などパスを構築するメソッドとは異なり
サブピクセル処理を行いません。つまり座標(0.45, 0.25)のように指定しても座標(0,0)に描画したのと同じ結果になります。
<!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(120,80);
imgObj.src = "photo.jpg";
imgObj.onload = function(){
var x = Math.random() * 200;
var y = Math.random() * 160;
context.drawImage(imgObj, x, y);
setTimeout(arguments.callee, 100);
}
}
</script>
</head>
<body>
<h1>Sample</h1>
<canvas id="imgCanvas" width="320" height="240" style="border:1px black solid"></canvas>
</body>
</html>