博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web实战:如何进行视频截图
阅读量:7200 次
发布时间:2019-06-29

本文共 1334 字,大约阅读时间需要 4 分钟。

各位读者大人们好,不知道各位读者大人们近来如何。

由于前段时间事情比较多,文章的更新就给耽误了,项目需要上线经常加班,再加上自己的一些学习计划,一晃就是一个多月,没有更新文章。

有人会问,登哥你怎么不搬运和转载别人的文章呢?,这样公众号就不会断更了,这个问题问的好,熟悉我的读者应该会发现,我的文章全都是原创文章。

刚开始运行公众号时,可能转载过一两篇文章,从那以后我就坚持原创了。不在进行转载,这其实和我公众号的定位有关系。

我写文章的目的很简单,不是为了涨粉,更多的是为了个人成长,因为你在写文章的同时其实就是在自我学习的过程,这个过程要比你单纯的看知识点要吸收的更有效率。

当然了,在这个过程中如果能收获认可自己的读者,那是一件很开心的事情。如果没有,我也没有损失什么。一直按照我的节凑进行就好。

所以从这个角度来说,转载可能对我的意义就不大了。

最近在自学 Python 后面除了给大家分享前端的相关知识以外,还会给大家分享更多有意思东西。大家以后可以多关注关注。

今天给大家分享一个实战技巧,最近在项目中使用到的,需求是在播放视频的时候可以进行截图。

我们都知道,网页中大多都是用 <video> 标签进行视频的播放。那如何才能实现视频的截图呢?

这里我们用到了 canvas 的相关功能。我们都知道,canvas 是伴随着 HTML5 出现的,它具有强大的绘图能力。很多可视化库都是利用到了 canvas。

因为 canvas 具有对图像的操作能力,今天我们就用它来实现视频的截图操作,之前对 canvas 有过一段时间的学习,如果想学习 canvas 的同学,这里推荐慕课网上的入门课程。

这里主要用到两个方法:

drawImage

drawImage 方法是在画布上绘制图像、画布或视频。 语法:

ctx.drawImage(image, dx, dy); ctx.drawImage(image, dx, dy, dWidth, dHeight); ctx.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight); 三种用法,本文不做过多描述,有兴趣的可以查看相关文档。其中的参数 image:允许任何的图像源,所以我们就可以利用这个特性,对 video 进行操作。更多可查看相关文档

toDataURL

toDataURL 方法可以返回 Canvas 图像对应的 data URI,也就是平常我们所说的base64地址。 格式如下: data:[][;base64],

实现

利用上述方法我们很容易就能实现视频的截图,主要分为三步:

使用 drawImage 方法在画布上绘制图像。

使用 toDataURL 方法获取图像的地址。

创建一个img标签,赋值给 src。

到这里就大功告成了,一起来看效果吧。

最后,如果觉得文章不错,对你有所启发,点赞是一种态度也是一种认可。

微信公众号:六小登登,更多干货文章,这里有我的很多故事,欢迎一起交流。

转载于:https://juejin.im/post/5d089509e51d4558936aa084

你可能感兴趣的文章
C语言,能开发什么?怎么去学习?
查看>>
C\C++控制台程序隐藏方法总结
查看>>
unity 组件添加与访问
查看>>
安防无战事:一场10213亿元的误会
查看>>
【WPF】代码触发Button点击事件
查看>>
接口、多态
查看>>
JPress v2.0-rc.8 发布,新增插件开发的代码生成器
查看>>
老外的个人网站原来是这样设计的:17个最佳范例给你灵感
查看>>
事件总线
查看>>
如何对第一个Vue.js组件进行单元测试 (下)
查看>>
关于UGUI中Canvas无法移动的解决方法
查看>>
Linux strace检查程序的系统调用及时间
查看>>
一个立体感的按钮样式
查看>>
下载安装MariaDB Galera 10.1
查看>>
传美团支付无证经营被央行叫停 限期三个月整改
查看>>
Redis笔记3-redis事务
查看>>
日本保险公司引进IBM Watson,裁员近30%
查看>>
第64天:CSS常用命名规范,有用!
查看>>
PHP代码审计笔记--命令执行漏洞
查看>>
redis成长之路——(七)
查看>>