0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于LabVIEW如何实现截屏

jf_xutpKvFS 来源:LabVIEW QT 修炼之路 作者:LabVIEW QT 修炼之路 2022-11-28 15:43 次阅读

群里的小伙伴问起了如何用LabVIEW去实现截屏?那么就去实现一下咯。

关于截屏这里主要讨论三个方面:

1. 纯粹的截取某个VI的前面板

2. 截取整个电脑桌面

3. 截取指定的矩形区域

1. 截取VI前面板

这个需求很简单,只需调用VI的 FP.Get Image 方法就可以获取前面板的图像数据了,然后将其写入到图片文件中,如下图所示:

54858e8e-6d89-11ed-8abf-dac502259ad0.png

2. 截取整个桌面

这个需求也不难,都知道键盘上有一个截屏按键“PrtSc”,按下该键就可以截取整个桌面并将图像数据保存到剪贴板中,那么我们只用模拟按下该按键并从剪贴板中读取图像数据将其保存到文件中即可。

查阅资料发现可以使用 User32.dll库中的 keybd_event() 函数,如下图所示:

549e5fcc-6d89-11ed-8abf-dac502259ad0.png

其中提到该函数已经被取代,推荐使用SendInput函数(感兴趣的自行尝试),这里演示keybd_event函数来解决。

第一个参数需要指定虚拟密钥代码,这里需用用到 打印屏幕键PrtSc,如下图所示:

54ea7952-6d89-11ed-8abf-dac502259ad0.png

第二个参数是密钥的硬件扫码代码,一般置为0,感兴趣可自行搜索不同按键对应的硬件扫码码,比如'A'~'Z'如下图所示,当键按下时产生Make码,当按键释放时产生Break码。

55078bfa-6d89-11ed-8abf-dac502259ad0.png

第三个参数一般为0或2,0表示按下,2表示释放;

第四个参数是与按键关联的一些附加值,一般也为0;

以上参数详细内容感兴趣请自行搜索深入了解,模拟 PrtSc 按键按下实现如下图所示:

5534906e-6d89-11ed-8abf-dac502259ad0.png

556d753c-6d89-11ed-8abf-dac502259ad0.png

接下来从剪贴板中读取图像数据并保存到文件中即可:调用Application的Clipboard.Get Image方法获取图像数据,然后再调用 Write PNG File.vi写入文件 (当然这里也可以写入其它格式文件中,如jpg,bmp等),如下图所示:

558b88c4-6d89-11ed-8abf-dac502259ad0.png

上述功能也可以通过.net(System.Windows.Forms.Clipboard和System.Drawing.Imaging.ImageFormat)来实现如下图所示:

55e86ff8-6d89-11ed-8abf-dac502259ad0.png

个也就很简单了,只需对图像数据做个简单处理即可(Draw Flattened Pixmap.vi 和 Picture to Pixmap.vi),如下图所示

3. 截取指定矩形区域

截取整个桌面搞定了,这个也就很简单了,只需对图像数据做个简单处理即可(Draw Flattened Pixmap.vi 和 Picture to Pixmap.vi),如下图所示:

5605e812-6d89-11ed-8abf-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1976

    文章

    3657

    浏览量

    325323
  • 截屏
    +关注

    关注

    0

    文章

    11

    浏览量

    8734
  • 函数
    +关注

    关注

    3

    文章

    4345

    浏览量

    62924

原文标题:关于LabVIEW如何实现截屏

文章出处:【微信号:LabVIEW QT 修炼之路,微信公众号:LabVIEW QT 修炼之路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    通过Labview控制示波器

    1.使用Labview编写程序,控制示波器让其,并将图片保存到指定文件夹下。示波器是泰克DPO 7054本身带有操作系统,保存到示波器本地文件夹下的,我写出来了,但是现在想让图片直接保存到主机
    发表于 03-12 16:21

    新手求助:基于labview的TDS3052示波器命令

    现在手上有一台TDS3052的示波器,想通过labview控制示波器然后再保存到电脑端的文件夹里面,目前不知道这台示波器的命令是什么
    发表于 03-13 17:45

    LabVIEW仪器屏幕屏幕抓取图片并传输文件到电脑

    使用LabVIEW编程,把网络分析仪仪器屏幕屏保存到仪器,然后传输图片文件到电脑端。图片格式为BMP。使用LabVIEW编程时间不长,觉得有用分享一下。
    发表于 12-16 09:57

    OpenHarmony设备的5种方式

    本文转载自《OpenHarmony设备的5种方式 》,作者westinyang ​​ 方式1:系统控制中心 ● 顶部下滑在控制中心里点击 ● 这种方式最普遍,截图后可到相册查看
    发表于 08-29 14:49

    教你不用软件的小技巧4条

    教你不用软件的小技巧4条 一、代替屏幕截图软件        按下Print Screen键,将会截取全屏幕画面。用鼠标点
    发表于 02-23 14:08 834次阅读

    华为荣耀8花式,4种方式你都知道吗?

    手机功能是大家常用到的,方法当然是越简单越好啦。华为荣耀8就有好几种方式,你都了解吗?看看哪种是你最喜欢的。第一种是同时按住音量下键和电源键约2秒,就能
    发表于 04-19 08:56 1w次阅读

    华为mate9手机怎么?华为mate9图实用教程分享

    华为mate9除了自身搭载强大的麒麟960,AI人工智能学习系统和莱卡双镜头,搭载人工智能的操作系统该如何?我们来汇总一下各种操作方法。比如传统的电源加音量键;指关节双击
    发表于 06-05 14:40 1.9w次阅读

    华为mate9如何?华为mate9的五种方式汇总,哪一种方式最适合你?

    华为mate9是去年发布的一款新机,该机主打商务风受到了人们的高度青睐,直到现在华为mate9也十分受欢迎。但是很多人在使用时都不知道该如何,今天小编就给大家普及一下华为mate9的五种
    发表于 09-21 14:33 1963次阅读

    如何在嵌入式Linux中

    在桌面级操作系统中,下载一个截图软件就能实现操作,但在嵌入式Linux系统中,要实现小小的截图功能却没有那么简单。本文为您介绍嵌入式Linux系统中
    的头像 发表于 11-01 16:10 6121次阅读
    如何在嵌入式Linux中<b class='flag-5'>截</b><b class='flag-5'>屏</b>

    基于Labview的网络自动功能程序免费下载

    本文档的主要内容详细介绍的是基于Labview的网络自动功能程序免费下载。
    发表于 10-14 08:00 49次下载

    iPad的三种方式分享

    轻点缩略图可通过“标记”添加绘画和文本,按住缩略图可分享。在缩略图上向左轻扫可将它关闭。
    发表于 06-17 15:13 7134次阅读

    鸿蒙系统功能在哪里

    华为鸿蒙系统发布后,目前为止很多小伙伴都升级了鸿蒙系统,是手机使用过程中一个很基础的功能,那么鸿蒙系统功能在哪里呢?下面小编就为大家带来鸿蒙系统
    的头像 发表于 07-09 15:44 1.1w次阅读

    屏幕功能

    屏幕功能
    发表于 05-26 15:25 15次下载

    华为pockets怎么

    华为Pocket S的方法有以下几种。
    的头像 发表于 03-06 16:06 2129次阅读

    HarmonyOS开发实例:【手势

    基于手势处理和能力,介绍了手势实现过程。样例主要包括以下功能
    的头像 发表于 04-11 22:38 597次阅读
    HarmonyOS开发实例:【手势<b class='flag-5'>截</b><b class='flag-5'>屏</b>】