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
    +关注

    关注

    1918

    文章

    3619

    浏览量

    316977
  • 截屏
    +关注

    关注

    0

    文章

    11

    浏览量

    8674
  • 函数
    +关注

    关注

    3

    文章

    3866

    浏览量

    61308

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

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

收藏 人收藏

    评论

    相关推荐

    通过Labview控制示波器

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

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

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

    如何在嵌入式Linux中进行

    在桌面级操作系统中,下载一个截图软件就能实现操作,但在嵌入式Linux系统中,要实现小小的截图功能却没有那么简单。
    发表于 10-25 06:13

    Linux使用小技巧:嵌入式Linux系统中实现功能的方法和步骤

    在桌面级操作系统中,下载一个截图软件就能实现操作,但在嵌入式Linux系统中,要实现小小的截图功能却没有那么简单。本文为您介绍嵌入式Linux系统中
    发表于 05-03 07:00

    嵌入式Linux中如何进行

    在桌面级操作系统中,下载一个截图软件就能实现操作,但在嵌入式Linux系统中,要实现小小的截图功能却没有那么简单。本文为您介绍嵌入式Linux系统中
    发表于 08-09 00:30

    emwin工程屏幕色彩偏差太大的解决办法?

    在程序中运用了历程里面的bmp_encode(u8 *filename,u16 x,u16 y,u16 width,u16 height,u8 mode);函数进行,图像是得到了,但是色彩偏差
    发表于 08-13 05:27

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

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

    计算机基础知识,电脑技巧 截图快捷键是什么 精选资料分享

    电脑技巧 截图快捷键是什么在我们日常使用电脑不管是工作还是娱乐都经常会使用到截图功能,下面我们来介绍使用截图快捷键来实现快速截图的方法。目前我们比较常用的有3种截图快捷键,分别是全屏截图、当前
    发表于 09-08 07:17

    OpenHarmony设备的5种方式

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

    STM32开发板能吗?

    STM32开发板能嘛?
    发表于 10-17 07:15

    利用LabVIEW实现串口通讯_labview程序案例

    程序案例 利用LabVIEW实现串口通讯
    发表于 01-12 15:44 319次下载

    LabVIEW程序-关于生成Excel报表的程序

    LabVIEW程序,关于生成Excel报表的程序
    发表于 12-28 10:54 109次下载

    关于LabView编程实例说明资料下载.pdf

    关于LabView编程实例说明资料下载
    发表于 05-02 09:55 13次下载

    如何使用LabVIEW实现小波变换

    本文档的主要内容详细介绍的是如何使用LabVIEW实现小波变换包括了:小波变换的基本理论,在LabVIEW实现小波变换,基于LabVIEW
    发表于 04-20 08:00 53次下载
    如何使用<b class='flag-5'>LabVIEW</b><b class='flag-5'>实现</b>小波变换

    labview是什么软件?labview是什么语言?labview实现什么功能?

    labview是什么软件?labview是什么语言?labview实现什么功能? LabVIEW是一种图形化的编程语言,通常被用于数据采集
    的头像 发表于 08-31 17:23 3153次阅读