返回 导航

HTML5 / CSS3

hangge.com

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)

回到顶部