• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    使用canvas对video视频某一刻截图功能

    发布者: 雪落无声 | 发布时间: 2025-6-16 12:23| 查看数: 89| 评论数: 0|帖子模式

    前言

    本次使用的是canvas.drawImage()实现截图功能, 关于api支持的dom元素、基本参数,可点击查询下面连接 CanvasRenderingContext2D.drawImage()
    处理过程

    我本次的需求是多人视频中对某一视频某一刻的截图,展示视频直接用的原生video标签
    1、首先获取video元素和创建canvas
    1. const video = document.getElementById('video');
    2. const canvas = document.createElement("canvas");
    3. const canvasCtx = canvas.getContext("2d")
    复制代码
    2、截图的像素大小及优化
    devicePixelRatio 能够返回当前显示设备的物理像素分辨率与 CSS 像素分辨率的比率,能够更好还原真实的视频场景,具体参考官方
    1. const ratio = window.devicePixelRatio || 1;
    2. canvasCtx.scale(ratio, ratio);
    复制代码
    3、处理canvas画布
    1. // canvas大小与图片大小保持一致,截图没有多余
    2. canvas.width = video.offsetWidth * ratio;
    3. canvas.height = video.offsetHeight * ratio;
    复制代码
    4、生成canvas并转化成自己需要的格式,我这里就直接转成base64了
    1. canvasCtx.drawImage(video, 0, 0, canvas.width, canvas.height)
    2. const imgBase64 = canvas.toDataURL("image/png");
    复制代码
    到此这篇关于使用canvas对video视频某一刻截图的文章就介绍到这了,更多相关canvas视频截图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/html5/790425.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表