查看: 109|回复: 0

扣丁学堂浅谈canvas绘制视频封面的方法

发表于 2018-6-1 11:07:08

今天小编给大家分享一下canvas绘制视频封面的方法,小编觉得对喜欢HTML5的小伙伴会有帮助,现在分享给大家,让大家做个参考。


一、需求:上传视频,同时截取视频某一帧作为视频的封面。
二、实现思路:利用canvas绘制图像的功能,绘制图像某一帧,这里绘制了第一帧,很简单就实现了。
三、代码:
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>capture screen</title>
    <style type="text/css">
        video,#container{width: 300px;height: 200px;}
        #container>img{width: 100%;}
    </style>
</head>
<body>
    <video id="video" controls="controls">
        <source src="video/video_test.mp4">
    </video>
    <div id="container"></div>
    <script type="text/javascript">
        (function() {
            var video, container;
            var scale = 0.8;
            var initialize = function() {
                container = document.getElementById("container");
                video = document.getElementById("video");
                video.addEventListener('loadeddata', captureImage);
            };
            var captureImage = function() {
                var canvas = document.createElement("canvas");
                canvas.width = video.videoWidth * scale;
                canvas.height = video.videoHeight * scale;
            canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);
                var img = document.createElement("img");
                img.src = canvas.toDataURL("image/png");//转换成base64图片,地址拿出来就可以直接使用
                container.appendChild(img);
            };
            initialize();
        })();
    </script>
</body>
</html>
关于canvas绘制视频封面的方法扣丁学堂HTML5在线学习小编就给大家说这么多,希望对大家的学习有所帮助,想要了解更多HTML5开发方面内容的小伙伴可以登录扣丁学堂官网咨询。扣丁学堂是专业的HTML5培训机构,不仅有专业的老师和与时俱进的课程体系,还有大量的HTML5在线教程供学员观看学习,想要学好HTML5开发的小伙伴快快行动吧。扣丁学堂H5技术交流群:559883758。




文章转载自:扣丁学堂http://www.codingke.com/


回复

使用道具 举报