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实现精美横向滚动菜单按钮
Apr 14 HTML / CSS
CSS3 实用技巧:实现黑白图像效果示例代码
Jul 11 HTML / CSS
CSS3之2D与3D变换的实现方法
Jan 28 HTML / CSS
HTML5网页音乐播放器的示例代码
Nov 09 HTML / CSS
使用HTML5的链接预取功能(link prefetching)给网站提速
Dec 13 HTML / CSS
HTML5 Canvas——用路径描画线条实例介绍
Jun 09 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
Apr 23 HTML / CSS
使用canvas绘制超炫时钟
Dec 17 HTML / CSS
html如何对span设置宽度
Oct 30 HTML / CSS
html5拖拽应用记录及注意点
May 27 HTML / CSS
Html5 canvas画图白板踩坑
Jun 01 HTML / CSS
css3 filter属性的使用简介
Mar 31 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的正则处理函数总结分析
2008/06/20 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
php使用ob_start()实现图片存入变量的方法
2014/11/14 PHP
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
JS匀速运动演示示例代码
2013/11/26 Javascript
jQuery之选项卡的简单实现
2014/02/28 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
详解JSON Web Token 入门教程
2018/07/30 Javascript
JS原生带缩略图的图片切换效果
2018/10/10 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
Python闭包的两个注意事项(推荐)
2017/03/20 Python
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
新闻专业个人自我评价
2013/09/21 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
社区八一活动方案
2014/02/03 职场文书
给孩子的新年寄语
2014/04/08 职场文书
英语教师个人总结
2015/02/09 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书