美文网首页
程序告警时完成界面截图

程序告警时完成界面截图

作者: 刘小白DOER | 来源:发表于2021-08-27 14:42 被阅读0次

        昨晚看到一篇文章-python实现自动化连续截图保存,觉得颇有意思。于是乎,笔者举一反三,将不同平台的截图总结一下,特别是虚拟仪器LabVIEW实现监控程序告警截图,这在实际应用中也很有意义,在告警时将界面截图保存下来,可以作为事后查询调查依据。

        告警截图回显的功能,笔者以前也想过来实现。当时是想将参数数据存入数据库中,然后回显界面不断的读取数据来重现当时的场景,但是告警时使用参数需要每次都存入数据库中,其实是没有必要的,我们只需要的是告警时的参数。那么告警截图其实可以方便的解决这个问题。

        下面是笔者在不同平台来完成的截图方法。

    一、python脚本完成截图

        使用PIL库的ImageGrab类grab方法来实现截图保存。也可以定义bbox的范围来获取截图的范围,python可以不分平台来实现。

        同时文章里可以通过pyautogui库来点击鼠标进行界面切换,但是笔者发现在实际实际使用中,这个点击的点是很难确定的,程序界面可能并不是一直在那里不动了,被人挪动了一点都会点击错误,还会存在风险。但是笔者觉得可以通过python获取活动的窗口界面,然后将活动窗口截图,这个以后再讨论来实现,后面笔者是基于labview来完成程序界面截图。

    二、gnome-terminal命令行截图

        Linux命令行gnome-screenshot可以完成截图功能,可以截取全屏或者活动窗口并保存为文件。在shell脚本中,遇到告警时可以调用来完成告警界面保存。或者使用python的subprocess函数调用这个外部的shell命令来完成截图,相对于PIL库,gnome-screenshot可以捕捉活动窗口来保存截图文件。

    三、LabVIEW单个控件对象截图

        使用控件的创建调用Get Image获取图像方法来完成单个控件对象截图保存,下面是笔者使用这个方法来保存波形图。

    四、程序前面板运行界面截图

        和单个控件对象截图类似,使用前面板获取图像方法完成前面板整个截图保存。

    五、有选项卡的前面板运行界面截图

        针对有选项卡的前面板运行界面截图使用顺序结构来完成选项卡控件的选项选择,来保存不同选项界面的截图保存。在测试时,笔者发现在切换选项时需要延时停顿一下才能准确截图到各个选项。程序框图请参考下面的一个前面板截图。

    六、有选项卡的控件对象截图

        和有选项卡的前面板运行界面截图类似,只是调用的是控件的Get Image获取图像方法。

    相关文章

      网友评论

          本文标题:程序告警时完成界面截图

          本文链接:https://www.haomeiwen.com/subject/lyypiltx.html