お寿司か焼き肉食べたい

まじめな事からしょーもない事まで
めにゅーを開く(投げやり)

へっへっへ。旦那。いい画像ありますよ・・・

では画像を。線で一生懸命書くだけじゃないんですよ。
drawImageを使うのですが、用途によって引数の数が変わる謎仕様になっています。

context.drawImage(image,x,y)

ただ単純に画像をぺぺーんと描画したい場合にこいつを使ってあげましょう
範囲からはみ出した部分は自動トリミングされます。

image

ここでは、<img>要素 <canvas>要素 <video>要素のいずれかを指定します。
画像パスを指定すると思った?ざんねん!ちがいました!
なんやら使いにくそうな感じですが、画面上に無い場合はJS側でimgタグとかを生成して使ってあげましょう

x y

画像を描画する座標位置を指定してあげましょう。

var img01 = new Image();
img01.src = "/common/img/illust/63.jpg";

var canvas1 = document.getElementById('canvas01');
canvas1.width = 400;
canvas1.height = 200;
if (canvas1.getContext) {
  var context1 = canvas1.getContext('2d');
  context1.beginPath();
  context1.drawImage(img01, 0, -140);
}

context.drawImage(image,x,y,w,h)

幅と高さを指定して描画したい場合はこれを使います。
描画する画像の幅と高さになりますので、元画像とサイズが違う場合は、拡大/縮小される形となります。

w h

イメージを描画する大きさを指定します。

var canvas2 = document.getElementById('canvas02');
canvas2.width = 400;
canvas2.height = 200;
if (canvas2.getContext) {
  var context2 = canvas2.getContext('2d');
  context2.beginPath();
  context2.drawImage(img01, 0, 0,200,200);
}

context.drawImage(image,x,y,w,h,x2,y2,w2,y2)

画像をトリミングして好きな所に配置する場合に使用しましょう。

x y

imageで使用したい座標の各開始位置です。

w h

imageで使用したい範囲の幅と高さです。
始点:x y 終点:w hの範囲で画像がトリミングされると考えて下さい。

x2 y2

canvas側に出力する描画イメージの座標です。
上記でトリミングした画像をどこに出したいの?って指定です。

w2 h2

canvas側に出力する描画イメージのサイズ指定です。

var canvas3 = document.getElementById('canvas03');
canvas3.width = 400;
canvas3.height = 200;
if (canvas3.getContext) {
  var context3 = canvas3.getContext('2d');
  context3.beginPath();
  context3.drawImage(img01, 170, 140,200,200,0,0,200,200);
}

注意点

画像を使用するので、プリロードを予めかけておくか何かしましょう。