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中transform变换模型的渲染
May 27 HTML / CSS
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
Dec 10 HTML / CSS
一款利用css3的鼠标经过动画显示详情特效的实例教程
Dec 29 HTML / CSS
利用CSS3实现文本框的清除按钮相关的一些效果
Jun 23 HTML / CSS
css3实现文字扫光渐变动画效果的示例
Nov 07 HTML / CSS
使用css实现android系统的loading加载动画
Jul 25 HTML / CSS
基于HTML5 Canvas 实现弹出框效果
Jun 05 HTML / CSS
HTML5 UTF-8 中文乱码的解决方法
Nov 18 HTML / CSS
带你认识HTML5中的WebSocket
May 22 HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
Jul 28 HTML / CSS
HTML+CSS+JS实现图片的瀑布流布局的示例代码
Apr 22 HTML / CSS
使用CSS连接数据库的方式
Feb 28 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&amp;&amp;mysql)二
2006/10/09 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
php简单统计在线人数的方法
2016/05/10 PHP
javascript 对象的定义方法
2007/01/10 Javascript
匹配任意字符的正则表达式写法
2010/04/29 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
老生常谈js中的MVC
2017/07/25 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
用Python和MD5实现网站挂马检测程序
2014/03/13 Python
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
python requests库的使用
2021/01/06 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
香港通票:Hong Kong Pass
2019/02/26 全球购物
工商行政管理专业求职书
2014/05/23 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书