Vue2/Vue3使用video播放视频--捕获截图

 基本步骤

 在JavaScript中,实现从<video>元素中截图的基本步骤如下:
1、创建Canvas元素:首先,需要创建一个<canvas>元素,因为截图操作会借助Canvas的绘图上下文来完成。
2、获取Video帧:从<video>元素中取出当前帧,并将其绘制到<canvas>上。
3、转换为图像数据:利用Canvas的toDataURL()方法将绘制的内容转换为Base64编码的图像数据。
4、下载或显示图像:可以通过创建隐藏的<a>标签并设置其href属性为Base64编码的图像数据,并触发点击事件来实现下载,或者直接将图像数据显示在页面上。

实现代码VUE3

//捕获截图
const capture=()=> {// 获取video和canvas元素const video = document.getElementById('video');const canvas = document.getElementById('myCanvas');// 设置canvas尺寸与video一致canvas.width = video.videoWidth;canvas.height = video.videoHeight;// 获取canvas的2d绘图上下文const context = canvas.getContext('2d');// 将当前video帧绘制到canvas上context.drawImage(video, 0, 0, canvas.width, canvas.height);// 将canvas内容转换为data URL,即Base64编码的图像const imageDataUrl = canvas.toDataURL('image/png');// 下载图片downloadImage(imageDataUrl);
}
//下载图片const downloadImage = (dataUrl) => {const link = document.createElement('a');link.href = dataUrl;const now = new Date();link.download = now.toLocaleString() + '监控视频.png';document.body.appendChild(link);link.click();document.body.removeChild(link);
}</script><template><div><button @click="capture">截图</button><canvas id="myCanvas" style="display:none;"></canvas><!-- Your HTML template code here --><video id="video" autoplay width="900" height="500"></video></div>
</template>

 实现代码VUE2

function capture() {// 获取video和canvas元素const video = document.getElementById('video');const canvas = document.getElementById('myCanvas');// 设置canvas尺寸与video一致canvas.width = video.videoWidth;canvas.height = video.videoHeight;// 获取canvas的2d绘图上下文const context = canvas.getContext('2d');// 将当前video帧绘制到canvas上context.drawImage(video, 0, 0, canvas.width, canvas.height);// 将canvas内容转换为data URL,即Base64编码的图像const imageDataUrl = canvas.toDataURL('image/png');// 下载图片downloadImage(imageDataUrl);
}function downloadImage(dataUrl) {// 创建隐藏的a标签const link = document.createElement('a');link.href = dataUrl;link.download = 'screenshot.png';// 触发点击事件以下载document.body.appendChild(link);link.click();document.body.removeChild(link);
}
</script><template><div><button @click="capture()">截图</button><canvas id="myCanvas" style="display:none;"></canvas><!-- Your HTML template code here --><video id="video" autoplay width="900" height="500"></video></div>
</template>

成功图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/851800.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程的m09:深入解读这一神秘指令的四大方面、五大细节、六大应用场景及七大挑战

编程的m09&#xff1a;深入解读这一神秘指令的四大方面、五大细节、六大应用场景及七大挑战 在编程的世界中&#xff0c;各种指令和代码如同魔法咒语&#xff0c;它们被赋予特定的含义和功能&#xff0c;用以操控计算机完成各种任务。然而&#xff0c;对于初学者或是不熟悉某个…

算法刷题笔记 二进制中1的个数(C++实现)

文章目录 题目描述基本思路实现代码 题目描述 给定一个长度为n的数列&#xff0c;请你求出数列中每个数的二进制表示中1的个数。 输入格式 第一行包含整数n。第二行包含n个整数&#xff0c;表示整个数列。 输出格式 共一行&#xff0c;包含n个整数&#xff0c;其中的第i个…

SQL Server几种琐

SQL Server 中的锁类型主要包括以下几种&#xff0c;它们用于控制并发访问和数据一致性&#xff1a; 1. 共享锁&#xff08;Shared Lock&#xff0c;S 锁&#xff09;&#xff1a; - 用于读取操作&#xff08;如 SELECT 语句&#xff09;。 - 允许多个事务同时读取同一资…

【云原生】Kubernetes----Metrics-Server组件与HPA资源

目录 引言 一、概述 &#xff08;一&#xff09;Metrics-Server简介 &#xff08;二&#xff09;Metrics-Server的工作原理 &#xff08;三&#xff09;HPA与Metrics-Server的作用 &#xff08;四&#xff09;HPA与Metrics-Server的关系 &#xff08;五&#xff09;HPA与…

QT属性系统,简单属性功能快速实现 QT属性的简单理解 属性学习如此简单 一文就能读懂QT属性 QT属性最简单的学习

4.4 属性系统 Qt 元对象系统最主要的功能是实现信号和槽机制&#xff0c;当然也有其他功能&#xff0c;就是支持属性系统。有些高级语言通过编译器的 __property 或者 [property] 等关键字实现属性系统&#xff0c;用于提供对成员变量的访问权限&#xff0c;Qt 则通过自己的元对…

【算法与数据结构】【数组篇】【题11-题15】

系列文章 本人系列文章-CSDN博客https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5502 1.数组基本知识点 1.1概念 数组就是一个集合。数组会用一些名为索引的数字来标识每项数据在数组中的位置&#xff0c;且在大多数编程语言中&…

14. fastLED调色板

Color Palettes Functions and class definitions for color palettes.调色板的函数和类定义。 RGB palettes map an 8-bit value (0-255) to an RGB color. You can create any color palette you wish; a couple of starters are provided: ForestColors_p, CloudColors_p…

机器学习-- 如何清洗数据集

文章目录 引言&#xff1a;数据清洗的具体步骤数据清洗的具体方法和示例1. 处理缺失值2. 去除重复数据3. 修正数据格式4. 处理异常值5. 标准化和归一化6. 处理不一致的数据7. 转换数据类型8. 数据集成 总结 引言&#xff1a; 数据清洗是数据处理和分析的关键步骤&#xff0c;旨…

2024/6/11 英语每日一段

They found that, regardless of culture, greater mental well-being is linked with feeling emotions that we believe are appropriate to our situation, rather than just having positive emotions regardless of context--“feeling right” as opposed to “feeling g…

Qt进程间通信(QSharedMemory、QLocalSocket、QWebSocket、QProcess、D-BUS、QTcpSocket)

通信方法&#xff1a; 1、QSharedMemory。 2、QLocalSocket。 3、QWebSocket。 4、QTcpSocket。 5、QProcess。 6、D-BUS 共享内存QSharedMemory 介绍&#xff1a;共享内存指 (shared memory)在多处理器的计算机系统中&#xff0c;可以被不同中央处理器&#xff08;CPU&#…

什么是电表无人抄表?

1.电表无人抄表&#xff1a;智能时代的新式计量方法 随着科技的发展的迅猛发展&#xff0c;传统电表抄表方法正被一种全新的、高效率的方式所替代——电表无人抄表。这类技术的普及&#xff0c;不仅提升了电力行业的经营效率&#xff0c;同时也为用户增添了更贴心的服务。 2.…

从零开始手把手Vue3+TypeScript+ElementPlus管理后台项目实战九(整体布局02)

使用el-menu和el-sub-menu及el-menu-item导航 src/layout目录下新增components目录&#xff0c;components目录下新增PageSidebar.vue 代码基本思想为&#xff1a;读取router中定义的routes数组&#xff0c;渲染绑定到el-menu。 el-menu和el-sub-menu及el-menu-item的区别&…

SprringCloud Gateway动态添加路由不重启

文章目录 前言&#xff1a;一、动态路由必要性二、SpringCloud Gateway路由加载过程RouteDefinitionLocator接口PropertiesRouteDefinitionLocator类DiscoveryClientRouteDefinitionLocatorInMemoryRouteDefinitionRepositoryCompositeRouteDefinitionLocator类CachingRouteDef…

【话题】程序员应该有什么职业素养

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景职业素养的重要性职业素养的核心1.1 承诺与责任感1.2 沟通与团队合作1.3 学习与持续进步 态度和价值观的作用2.1 诚实和诚信2.2 责任和自我管理2.3 尊重和多样性 职…

Linux crontabs定时执行任务

文章目录 前言一、安装二、服务1. 启动crond服务2. 关闭crond服务3. 重启crond服务4. 设置crond开机启动5. 禁用crond开机启动6. 查看crond是否开机启动7. 重新载入配置8. 查看crond运行状态 三、使用1. 查看当前用户的crontab2. 编辑用户的crontab3. 删除用户的crontab的内容 …

JEPaaS 低代码平台 j_spring_security_check SQL注入漏洞复现

0x01 产品简介 JEPaaS是一款优秀的软件平台产品,可视化开发环境,低代码拖拽式配置开发,操作极其简单,可以帮助解决Java项目80%的重复工作,让开发更多关注业务逻辑,大大提高开发效率,能帮助公司大幅节省人力成本和时间成本,同时又不失灵活性。适用于搭建 OA、ERP、CRM、…

100v 高耐压ldo 高压三端稳压芯片

100v 高耐压ldo 高压三端稳压芯片

python数据分析-量化分析

一、研究背景 随着经济的发展和金融市场的不断完善&#xff0c;股票投资成为了人们重要的投资方式之一。汽车行业作为国民经济的重要支柱产业&#xff0c;其上市公司的股票表现备受关注。Fama-French 三因子模型是一种广泛应用于股票市场的资产定价模型&#xff0c;它考虑了市场…

高效处理风电时序数据,明阳集团的 TDengine 3.0 应用实录

作为全国 500 强企业&#xff0c;明阳集团在风电行业拥有领先实力。目前全球超过 800 个项目采用明阳各种型号风电机组&#xff0c;安装数量超过 15000 台。每台风电机组配备数百至上千个监测点&#xff0c;生成的时序数据每秒一条&#xff0c;每天产生亿级以上的数据量。这些数…

IPv6 ND 协议功能概述

ND 协议功能概述 ND&#xff08;Neighbor Discovery&#xff0c;邻居发现&#xff09;协议是 IPv6 的一个关键协议&#xff0c;它综合了 IPv4 中的 ARP&#xff0c;ICMP 路由发现和 ICMP 重定向等协议&#xff0c;并对它们做了改进。 作为 IPv6 的基础性协议&#xff0c;ND 协…