Canvas中用什么方法实现视频截图的功能,具体过程是怎样的
Admin 2022-06-28 群英技术资讯 495 次浏览
本次使用的是canvas.drawImage()实现截图功能, 关于api支持的dom元素、基本参数,可点击查询下面连接 CanvasRenderingContext2D.drawImage()
我本次的需求是多人视频中对某一视频某一刻的截图,展示视频直接用的原生video标签
1、首先获取video元素和创建canvas
const video = document.getElementById('video'); const canvas = document.createElement("canvas"); const canvasCtx = canvas.getContext("2d")
2、截图的像素大小及优化
devicePixelRatio 能够返回当前显示设备的物理像素分辨率与 CSS 像素分辨率的比率,能够更好还原真实的视频场景,具体参考官方
const ratio = window.devicePixelRatio || 1; canvasCtx.scale(ratio, ratio);
3、处理canvas画布
// canvas大小与图片大小保持一致,截图没有多余 canvas.width = video.offsetWidth * ratio; canvas.height = video.offsetHeight * ratio;
4、生成canvas并转化成自己需要的格式,我这里就直接转成base64了
canvasCtx.drawImage(video, 0, 0, canvas.width, canvas.height) const imgBase64 = canvas.toDataURL("image/png");
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章给大家带来了关于css的相关知识,其中主要介绍了关于设置元素高度和宽度属性的相关问题,height和width属性用于设置元素的高度和宽度,height和width属性不包括内边距、边框或外边距。下面一起来看一下,希望对大家有帮助。
这篇文章主要介绍了HTML5输入框下拉菜单功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
这篇文章给大家分享的是CSS3中实现颜色渐变的方法。下文给大家介绍了两个实现渐变语句,分别是background:radial-gradient(类型 大小 位置,颜色1,颜色n..)和background:linear-gradient(方向,颜色1,颜色n..),其中,一个是元素径向渐变,一个元素线性渐变。下面我们详细的来看看具体的实现及代码。
做一个淘宝的留白:当你在缩小浏览器页面的时候他的内容区并没有缩小,是留白的变小。这是怎样做的呢?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
这篇文章主要介绍了浅谈CSS中的尺寸单位的相关资料,浏览器的兼容性越来越好,移动端基本是清一色的webkit,经常会用到css的不同尺寸/长度单位,这里做个整理。感兴趣的小伙伴们可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008