canvasのdrawImage()メソッドで画像や動画を描画する

CanvasのdrawImage()メソッドは、画像と動画を描画するために使用できます。

画像を描く:

var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.src = 'image.jpg';
img.onload = function() {
ctx.drawImage(img, 0, 0);
};

上記のコードでは、getElementById() メソッドで canvas 要素を取得した後、getContext(‘2d’) メソッドで描画コンテキストを取得します。次に、Image オブジェクトを作成し、src 属性に画像のパスを設定します。画像が読み込まれると onload イベントが発生し、drawImage() メソッドを呼び出して画像を canvas に描画します。

動画を制作する

var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
var video = document.getElementById('myVideo');
video.addEventListener('play', function() {
drawVideo(this, ctx, canvas.width, canvas.height);
}, false);
function drawVideo(video, ctx, width, height) {
ctx.drawImage(video, 0, 0, width, height);
setTimeout(drawVideo, 20, video, ctx, width, height);
}

上記のコードでは、getElementById()メソッドでcanvas要素とvideo要素を取得してから、getContext(‘2d’)メソッドで描画コンテキストを取得しています。次にvideo要素に再生イベントリスナーを追加し、動画が再生されるとdrawVideo()関数を呼び出します。drawVideo()関数はdrawImage()メソッドを使用して動画をcanvasに描画してから、setTimeout()メソッドを使用して20ミリ秒ごとにdrawVideo()関数を呼び出し、動画の連続描画を実現しています。

bannerAds