<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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
    +關注

    關注

    1919

    文章

    3619

    瀏覽量

    317360
  • 截屏
    +關注

    關注

    0

    文章

    11

    瀏覽量

    8674
  • 函數
    +關注

    關注

    3

    文章

    3911

    瀏覽量

    61367

原文標題:關于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 ?3223次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>