【HarmonyOS】鸿蒙应用实现截屏

【HarmonyOS】鸿蒙应用实现截屏

组件截屏

在这里插入图片描述
通过componentSnapshot的get函数,将需要截图的组件设置id传进去即可。

import { componentSnapshot } from '@kit.ArkUI';
import { image } from '@kit.ImageKit';/*** 截图*/



struct SnapShotPage { mImageSnapShot: image.PixelMap | null = null; ImgStyle(){.size({width: px2vp(350),height: px2vp(350)})}build() {Column(){Blank()// 参照图片Image($r("app.media.icon_img")).ImgStyle().id("target").autoResize(true)Blank()// 展示截图Image(this.mImageSnapShot).ImgStyle().backgroundColor(Color.Blue)Blank()Button("点击截图参照图片控件").onClick(()=>{componentSnapshot.get("target", (error: Error, pixmap: image.PixelMap)=>{if (error) {console.log("SnapShotDebug", "error: " + JSON.stringify(error));return;}console.log("SnapShotDebug", "pixmap: " + JSON.stringify(pixmap));this.mImageSnapShot = pixmap;});})Blank()}.size({width: "100%",height: "100%"})}
}

示例效果请以真机运行为准,当前 IDE 预览器不支持。

流媒体截屏

对于使用XComponent的场景,例如:Video或者相机流媒体展示类组件,不建议使用组件截图相关接口,建议从surface直接获取图片。效率更高些。

  private cutImage(surfaceId: string){let region: image.Region = { x: 0, y: 0, size: { height: 100, width: 100 } };image.createPixelMapFromSurface(surfaceId, region).then(() => {console.info("SnapShotDebug", 'Succeeded in creating pixelmap from Surface');}).catch((error: BusinessError) => {console.error("SnapShotDebug", `Failed to create pixelmap. code is ${error.code}, message is ${error.message}`);});}

关于如何屏蔽截屏行为,参见这篇文章。设置当前需要屏蔽截屏业务的容器窗口为,隐私窗口即可。【HarmonyOS】应用屏蔽截屏和录屏

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

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

相关文章

sheng的学习笔记-AI-层次聚类

AI目录:sheng的学习笔记-AI目录-CSDN博客 需要学习的前置知识:聚类,可参考:sheng的学习笔记-AI-聚类(Clustering)-CSDN博客 什么是层次聚类 层次聚类(hierarchical clustering)试图在不同层次对数据集进行划分,从而形…

【Python系列】使用 `isinstance()` 替代 `type()` 函数

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

国产版Sora复现——智谱AI开源CogVideoX-2b 本地部署复现实践教程

目录 一、CogVideoX简介二、CogVideoX部署实践流程2.1、创建丹摩实例2.2、配置环境和依赖2.3、上传模型与配置文件2.4、开始运行 最后 一、CogVideoX简介 智谱AI在8月6日宣布了一个令人兴奋的消息:他们将开源视频生成模型CogVideoX。目前,其提示词上限为…

thinkphp8开发的广告联盟网站系统源码

这款程序是采用国内主流的PHP框架,最新版本thinkphp8.0.4,也是目前市面上功能相对比较强大,界面比较好看的一款全开源的广告联盟系统,程序支持任意二开商业,并且代码无任何加密处理。 程序开发:PHPMySQL …

Windows使用wsl安装docker-desktop

一:修改Windows配置,启用相关功能。 1:启用硬件虚拟化VT-d 各品牌电脑的Bios设置都不一致,需要自行查找如何进入Bios开启VT-x功能,绝大部分电脑此功能默认情况下是直接开启的。 2:确定Windows系统的类别…

【全面介绍下Gitea,什么是Gitea?】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

日常生活中的卡片写作素材

日常生活中,有哪些内容适合写卡片? ​​我认为有两类非常值得写卡片,一类是经常重复说的内容,一类是给其他人提供价值的信息。 ​ ​ ​ 重复说的内容: ​​比如,你在工作中经常解答同事一些问题&a…

怎么限制电脑不能打开某个网页或网站(四个方法你可一定要学会)

老板:我公司的员工真的很让人头疼。 朋友:怎么了? 老板:我一不在就有人偷偷打开某些违法网站,画面不可描述啊! 朋友:难道你还不知道可以禁止员工打开某个网站? 老板:…

C++ QT开发 学习笔记(3)

C QT开发 学习笔记(3) - WPS项目 标准对话框 对话框类说明静态函数函数说明QFileDialog文件对话框getOpenFileName()选择打开一个文件getOpenFileNames()选择打开多个文件getSaveFileName()选择保存一个文件getExistingDirectory()选择一个己有的目录getOpenFileUrl()选择打幵…

【优秀python大屏案例】基于python flask的前程无忧大数据岗位分析可视化大屏设计与实现

随着大数据和人工智能技术的迅猛发展,数据分析和可视化在各个行业中的应用越来越广泛。特别是在招聘领域,大数据分析不仅能够帮助企业更好地了解市场需求,还能为求职者提供科学的职业规划建议。本文探讨了基于Python Flask框架的前程无忧大数…

如何判断IP地址属于住宅IP还是机房IP

在数字化时代,IP地址作为互联网通信的基础标识,扮演着重要的角色。无论是网络管理、数据分析还是安全监控,正确识别IP地址的类型——尤其是区分是住宅IP还是机房IP,对于确保网络安全、优化网络性能以及合法合规运营具有重要意义。IPIDEA代理I…

小白入门机器学习被劝退的4大原因,你中了哪一个?

hi,喵老师🐱来啦。 很多小白朋友,尤其是准研究生、文科生,刚开始接触机器学习之后常常在短时间内就「入门即放弃」了。 其实背后主要的原因无非那么几个,今天喵老师就给大家盘一盘,看看你是哪一种&#x1…

BUUCTF [安洵杯 2019]easy_serialize_php 1

打开题目,看到一串php代码,试着代码审计一下,看一下有用信息 可以看出是通过$_SESSION[img]来读取文件 extract可以将数组中的变量导入当前变量表 也就是说我们可以伪造$_SESSION 数组中的所有数据 这里传递一个参数fphpinfo 先用hackbar进…

缺失的第一个正数

思路&#xff1a;我的初步想法是先对数组排序&#xff0c;然后找到第一个正数的位置&#xff0c;从1开始顺序比对&#xff1a;哪个没出现就是答案。 代码&#xff1a; class Solution { public:int firstMissingPositive(vector<int>& nums) {sort(nums.begin(),nums…

常见中间件漏洞复现之【Apache】!

CVE-2021-41773 Apache HTTP Server 路径穿越漏洞 漏洞简介 该漏洞是由于Apache HTTP Server 2.4.49版本存在⽬录穿越漏洞,在路径穿越⽬录 <Directory/>Require all granted</Directory>允许被访问的的情况下&#xff08;默认开启&#xff09;&#xff0c;攻击者…

WEB渗透Web突破篇-WAF绕过

SQL注入分块传输 https://github.com/c0ny1/chunked-coding-converter跑注入点被拦截使用分块传输&#xff0c;右键选择使用SQLMAP跑注入>python sqlmap.py -r 1.txt --batch --proxyhttp://127.0.0.1:8080 --dbs自动提供可用的tamper Atlas GitHub - m4ll0k/Atlas: Quick…

常见中间件漏洞复现之【Tomcat】!

Tomcat介绍 tomcat是⼀个开源⽽且免费的jsp服务器&#xff0c;默认端⼝ : 8080&#xff0c;属于轻量级应⽤服务器。它可以实现 JavaWeb程序的装载&#xff0c;是配置JSP&#xff08;Java Server Page&#xff09;和JAVA系统必备的⼀款环境。 在历史上也披露出来了很多的漏洞 …

解决windows安装docker desktop打开报错问题

下载docker windows版本: https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_sourcedocker&utm_mediumwebreferral&utm_campaigndd-smartbutton&utm_locationmodule 正常安装&#xff0c;然后运行&#xff0c;弹出这个报错: 试了…

组件设计原则

state数据结构设计 用数据描述所有内容数据要结构化&#xff0c;易于程序操作&#xff08;遍历、查找&#xff09;数据要可扩展&#xff0c;以便增加新的功能 组件设计组件通讯 从功能上拆分层次尽量让组件原子化容器组件&#xff08;只管理数据&#xff09;& UI组件&am…

非负数、0和正数 限制最大值且保留两位小数在elementpuls表单中正则验证

一、结构 <el-form-item label="单价:" prop="price"><el-inputv-model.trim="formData.price"placeholder="请输入"@blur="formMethod.fixTwo"><template #append>(元)</template></el-input…