blob: 89e26a06369ee074fca1a55544e1fa11cfb691e6 [file] [log] [blame]
<html>
<head>
<style type="text/css">
video {
display: none;
}
</style>
</head>
<body>
<video id="video" width="30" height="30">
<source src="resources/canvas_video.webm" type="video/webm" />
</video>
<canvas id="videoOutput" width="150" height="150"></canvas>
<canvas id="imageOutput" width="150" height="150"></canvas>
<canvas id="canvasOutput" width="150" height="150"></canvas>
<script>
function drawImageSourceToHTMLCanvas(imageSource, outputCanvas) {
var ctx = outputCanvas.getContext('2d');
ctx.drawImage(imageSource, 0, 0);
ctx.drawImage(imageSource, 30, 30, 30, 30);
// stretch the image
ctx.drawImage(imageSource, 8, 8, 15, 15, 60, 60, 60, 60);
// reduce the image
ctx.drawImage(imageSource, 8, 8, 15, 15, 120, 120, 15, 15);
};
// image source as video
var video = document.getElementById('video');
var videoOnPlay = function() {
video.removeEventListener("playing", videoOnPlay);
drawImageSourceToHTMLCanvas(video, document.getElementById('videoOutput'));
};
video.addEventListener("playing", videoOnPlay, true);
video.play();
// image source as image
var image = new Image();
var imageOnLoad = function() {
image.removeEventListener("load", imageOnLoad);
drawImageSourceToHTMLCanvas(image, document.getElementById('imageOutput'));
};
image.addEventListener("load", imageOnLoad);
image.src = "resources/pattern.png";
// image source as canvas
var htmlCanvas = document.createElement('canvas');
htmlCanvas.width = 30;
htmlCanvas.height = 30;
var htmlCanvasCtx = htmlCanvas.getContext("2d");
htmlCanvasCtx.fillStyle = "blue";
htmlCanvasCtx.fillRect(0, 0, 15, 30);
htmlCanvasCtx.fillStyle = "red";
htmlCanvasCtx.fillRect(15, 0, 30, 30);
drawImageSourceToHTMLCanvas(htmlCanvas, document.getElementById('canvasOutput'));
</script>
</body>