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 相关文章推荐
让IE6支持css3,让 IE7、IE8 都支持CSS3
Oct 09 HTML / CSS
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
Nov 13 HTML / CSS
css3简单练习实现遨游浏览器logo的绘制
Jan 30 HTML / CSS
css3的图形3d翻转效果应用示例
Apr 08 HTML / CSS
CSS3中设置3D变形的transform-style属性详解
May 23 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
Jan 02 HTML / CSS
HTML5之SVG 2D入门7—SVG元素的重用与引用
Jan 30 HTML / CSS
HTML5中的Article和Section元素认识及使用
Mar 22 HTML / CSS
探索HTML5本地存储功能运用技巧
Mar 02 HTML / CSS
HTML5 新标签全部总汇(推荐)
Jun 13 HTML / CSS
HTML5的postMessage的使用手册
Dec 19 HTML / CSS
html5 canvas手势解锁源码分享
Jan 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
处理php自动反斜杠的函数代码
2010/01/05 PHP
php处理斐波那契数列非递归方法
2012/02/04 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
jQuery数据类型小结(14个)
2016/01/08 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
js实现交通灯效果
2017/01/13 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
react+redux仿微信聊天界面
2019/06/21 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
python根据出生年份简单计算生肖的方法
2015/03/27 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
Python中动态检测编码chardet的使用教程
2017/07/06 Python
Python金融数据可视化汇总
2017/11/17 Python
pandas创建新Dataframe并添加多行的实例
2018/04/08 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
matplotlib 范围选区(SpanSelector)的使用
2021/02/24 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
南京迈特望C/C++面试题
2012/07/09 面试题
绘画专业自荐信范文
2014/02/23 职场文书
文艺晚会主持词
2014/03/24 职场文书
寒假家长评语大全
2014/04/16 职场文书
农村党员干部承诺书
2015/05/04 职场文书
python编写函数注意事项总结
2021/03/29 Python
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP