Canvas中用什么方法实现视频截图的功能,具体过程是怎样的
Admin 2022-06-28 群英技术资讯 956 次浏览
在这篇文章中,我们来学习一下“Canvas中用什么方法实现视频截图的功能,具体过程是怎样的”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。本次使用的是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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
每个HTML标签都有一个属性叫做class, 也就是说每个标签都可以设置类名。在同一个界面中class的名称是可以重复的。在编写class选择器时一定要在class名称前面加上.即可。
这篇文章主要介绍了CSS动画实现背景无缝无限循环的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章给大家分享的是CSS自适应容器示例。文中示例主要是实现一个高为宽一半,宽度自适应的容器,当然高也可以是其他任意比例,这里以高为宽一半为例,具体的实现方法和代码如下,感兴趣的朋友可以参考了解。
我们在使用CSS对网页元素定义样式时经常会遇到这种情况:要对一般元素应用一般样式,然后在更特殊的元素上覆盖它们。那么我们怎么样来保证我们所新定义的元素样式能覆盖目标元素上原有的样式呢?在CSS中,会根据选择器的特殊性来决定所定义的样式规则的次序,具有更特殊选择器的规则优先于具有一般选择器的规则,如果两个规则的特殊性相同,那么后定义的规则优先。那么,又怎么来计算选择器的特殊性呢?下面这张图介绍了
这篇文章主要介绍了浅谈css阻断合并及其他影响的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008