canvas绘制视频封面的方法


Posted in HTML / CSS onFebruary 05, 2018

一、需求:上传视频,同时截取视频某一帧作为视频的封面。

canvas绘制视频封面的方法

二、实现思路:利用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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3教程(7):CSS3嵌入字体
Apr 02 HTML / CSS
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
Aug 11 HTML / CSS
CSS3图片旋转特效(360/60/-360度)
Oct 10 HTML / CSS
让IE支持CSS3的不完全兼容方案
Sep 19 HTML / CSS
html5 canvas 简单画板实现代码
Jan 05 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
Apr 25 HTML / CSS
谷歌浏览器小字体处理方案即12px以下字体
Dec 17 HTML / CSS
用html5绘制折线图的实例代码
Mar 25 HTML / CSS
详解canvas绘制网络字体几种方法
Aug 27 HTML / CSS
吃透移动端 1px的具体用法
Dec 16 HTML / CSS
html5表单的required属性使用
Jul 07 HTML / CSS
使用HBuilder制作一个简单的HTML5网页
Jul 07 HTML / CSS
HTML5新特性之type=file文件上传功能
Feb 02 #HTML / CSS
HTML5 canvas 瀑布流文字效果的示例代码
Jan 31 #HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
Jan 31 #HTML / CSS
详解html2canvas截图不能截取圆角图片的解决方案
Jan 30 #HTML / CSS
HTML5 Canvas实现360度全景图的示例代码
Jan 29 #HTML / CSS
详解canvas多边形(蜘蛛图)的画法示例
Jan 29 #HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
Jan 29 #HTML / CSS
You might like
如何给phpadmin一个保护
2006/10/09 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
smarty中常用方法实例总结
2015/08/07 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
理解JSON:3分钟课程
2011/10/28 Javascript
js获取IP和PcName(IE)在vs中可用
2013/08/02 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
动态Axios的配置步骤详解
2018/01/12 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
python requests post多层字典的方法
2018/12/27 Python
Python自带的IDE在哪里
2020/07/01 Python
Gap加拿大官网:Gap Canada
2017/08/24 全球购物
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
市场营销职业生涯规划书范文
2014/01/12 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
离婚协议书标准格式
2014/10/04 职场文书
2015年教师节活动总结
2015/03/20 职场文书