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实现自定义Tooltip边框涂鸦风格的教程
Nov 05 HTML / CSS
css3实现元素环绕中心点布局的方法示例
Jan 15 HTML / CSS
CSS3 中filter(滤镜)属性使用详解
Apr 07 HTML / CSS
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
Nov 17 HTML / CSS
详解Html5原生拖拽操作
Jan 12 HTML / CSS
关于 HTML5 的七个传说小结
Apr 12 HTML / CSS
html5声频audio和视频video等新特性详细说明
Dec 26 HTML / CSS
HTML5进度条特效
Dec 18 HTML / CSS
详解H5 活动页之移动端 REM 布局适配方法
Dec 07 HTML / CSS
基于MUI框架使用HTML5实现的二维码扫描功能
Mar 01 HTML / CSS
video下autoplay属性无效的解决方法(添加muted属性)
May 19 HTML / CSS
AmazeUI 面板的实现示例
Aug 17 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
JoshChen_web格式编码UTF8-无BOM的小细节分析
2013/08/16 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
jQuery前台数据获取实现代码
2011/03/16 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
2016/05/21 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
Fabric 应用案例
2016/08/28 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
Python多进程原理与用法分析
2018/08/21 Python
python 处理string到hex脚本的方法
2018/10/26 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
python GUI计算器的实现
2020/10/09 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
Python用户自定义异常的实现
2020/12/25 Python
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
什么是数组名
2012/05/10 面试题
毕业生求职简历的自我评价
2013/10/07 职场文书
数控技术专业毕业自荐书范文
2014/02/05 职场文书
买卖车协议书
2014/04/21 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
学校施工安全责任书
2015/01/29 职场文书
销售工作决心书
2015/02/04 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
会议承办单位欢迎词
2015/09/30 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书