以下のように3種類のdrawImageを用途によって使い分ける。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvasに画像を配置</title> <style> #mycanvas { outline: blue 1px solid; } </style> </head> <body> <!-- canvas上に配置する予定の画像を非表示で用意する --> <div style="display: none"> <img src="hoge.png" alt="example" id="myimage" width="592" height="59"/> </div> <canvas id="mycanvas" width="800" height="350"> </canvas> <script> !function () { var canvas = document.getElementById('mycanvas'), ctx; if (!canvas.getContext) { return; } ctx = canvas.getContext('2d'); window.addEventListener('load', function() { var image = document.getElementById('myimage'); // 左上のポジション指定 ctx.drawImage(image, 10, 10); // ポジションと幅、高さ指定 ctx.drawImage(image, 10, 90, // 左上のポジション 102, 49); // 幅と高さ // 元画像の描画範囲(切り取り範囲)と幅と高さを指定 ctx.drawImage(image, 60, 30, // 切り取り開始位置(左上の開始位置) 25, 40, // 切り取る幅と高さ 10, 180, // 画像を配置する左上のポジション 25, 40); // 画像の幅と高さ }); }(); </script> </body> </html>