HTML5 - Canvas的使用样例9(绘制视频帧,video视频截图)
作者:hangge | 2016-02-02 08:30
前面讲到使用 drawImage() 方法可以绘制图片。这个图片可以是临时创建的图片对象,也可以是页面已存在的 <img> 元素。
除了绘制图片,drawImage() 还可以绘制整个 <canvas> 元素(不是指当前这个),也可以绘制目前正在播放的 <video> 元素。
比如下面样例,当点击“截图”时就会捕获正在播放视频的当前帧画面,然后把该画面绘制到画布上。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>hangge.com</title>
</head>
<style>
canvas {
border: 1px dashed black;
}
</style>
<script>
function draw() {
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
var video = document.getElementById("videoPlayer");
context.drawImage(video, 0, 0, video.clientWidth, video.clientHeight);
}
</script>
<body>
<video id="videoPlayer" src="hangge.mp4" controls width="200" height="150"></video>
<button onclick="draw()">截图</button>
<canvas id="myCanvas" width="300" height="180">
</body>
</html>
全部评论(0)