LabVIEW Vision获取剪切板图像的两种方法
在某些情况下,我们可能需要获取剪切板的图像,用于粘贴之类的。这种属于一种比较小众的应用。一般的工程案例,可能使用不到这种方法。在这里,石鑫华给你介绍两种方法。
方法一、使用调用方法“剪贴板:获取图像方法Clipboard.Get Image”
即使用应用程序APP的Clipboard.Get Image属性来获取剪贴板的内容。该方法,可以获取剪贴板中的所有内容——不限于图像。文字也可以图片形式表现出来。
Clipboard.Get Image效果图-剪贴板中为图像
Clipboard.Get Image效果图-剪贴板中为文字
Clipboard.Get Image程序框图
该程序框图中,使用了LabVIEW中的Picture控件。即该方法,可以脱离NI VISION工具包。只需要使用LabVIEW即可实现。因为Picture控件要适合窗口显示,需要调用属性,并不是非常方便。所以上面的程序框图中,同时将图像数据转换成了IMAQ数据,在Image中显示。可以非常方便的放大或缩小。
需要注意的是,因为方法Clipboard.Get Image不支持运行引擎,所以在生成EXE后,将无法执行该方法。也就是说这种方法,只能以VI方式调用,只能在开发环境中使用。EXE的运行环境,将不起作用。
方法二、使用NI VISION中的IMAQ Cliboard to Image函数
NI VISION工具包中有一个函数IMAQ Cliboard to Image,即剪切板到图像的函数。该函数将可以获取剪切板中的图像内容,并直接转换成IMAQ图像数据。可以在Image中显示,或者是IMAQ函数来处理。
IMAQ Cliboard to Image效果-图片
IMAQ Cliboard to Image函数接线端
该函数只可以复制剪切板中的图像。因此其有一个Clipboard has an image?输出端,当剪切板不是图像时,会产生错误。所以一般会在后面再做一个判断,并加一个错误处理。
IMAQ Cliboard to Image方法程序框图-错误处理
IMAQ Cliboard to Image方法程序框图-剪切板中是图像时
这种方法可以在运行引擎中使用,但是依赖于NI VISION模块,需要安装NI视觉的运行引擎、公共资源包等组件才可以正常使用。