搜故事,从300万个故事到海量知识百科的华丽转变!

LabVIEW编程实例:手把手教你做一个图片浏览器软件

时间:2018-11-08

另外,当选择某个图片文件时,也支持显示当前文件夹下的其它图片文件

提示:本文共有 1136 个字,阅读大概需要 3 分钟。

实例说明

该实例的软件运行界面如下图所示:

软件支持三种常用的图片文件格式,分别为bmp、jpg和png格式。另外,当选择某个图片文件时,也支持显示当前文件夹下的其它图片文件。在软件界面上包括以下控件元素:

“图片”控件:用来显示浏览的图片内容

“打开”按钮:选择要浏览的图片文件

“前一张”和“后一张”按钮:选择当前目录下的前一张或后一张图片

编程思路

主程序采用循环结构+选择结构+事件结构的框架形式,使用状态机机制,整个程序包括两个运行状态,分别是默认状态和加载文件状态。

默认状态的作用是,在事件结构中响应用户的操作,如用户选择打开、前一张、后一张操作等,在相应的事件分支中分别处理,处理完成后会跳转到加载文件状态。

加载文件状态的作用是,实现选中图片文件的加载显示,处理完成后,跳转到默认状态,等待用户新的操作。

下面给出程序两个状态机制下的主要实现代码。

默认状态下实现代码

程序开始运行时,在存储运行状态的移位寄存器中初始值(枚举常数)设为“默认处理”,程序进入到事件结构中,在该结构中,处理打开、前一张、后一张三个按钮的“值改变”事件及“前面板关闭?”事件。

1、“打开”值改变事件代码

当用户点击“打开”按钮时,弹出文件对话框(限定格式为jpg、bmp和png格式)选择打开的图片文件,并遍历当前文件夹下所有的图片文件,输出一个图片数组,将该数组及当前文件在数组中的索引值传递到两个移位寄存器中,供加载文件时调用,程序框图如下所示:

2、“前一张”和“后一张”值改变事件代码

在这两个值改变事件中,其目的是改变当前即将浏览的图片在图片数组中的索引值,当选择“前一张”时,索引值变为当前索引值减1,当选择“后一张”时,索引值变为当前索引值加1,只是要注意的是,其改变后的索引值不要小于0或大于图片数组个数的最大值。该事件事件分支处理完成后,跳转到“加载文件”状态。由于两者代码类似,这儿仅给出“前一张”值改变事件的程序框图,代码如下所示:

3、“前面板关闭?”事件代码

当点击前面板右上角的关闭按钮时,实现退出程序的功能,其实现代码如下图所示:

加载文件状态下实现代码

在这种状态下实现图片文件的具体解析及显示功能,根据文件后缀判断当前图片文件的类型,分别调用LabVIEW内置的图片读取函数实现图像数据的读取,最后绘制到图片控件中。同时,使用属性节点函数更改当前窗口的标题,将当前浏览的图片文件名称显示到标题中。该状态处理完成后,跳转到“默认状态”,等待用户新的操作。实现代码如下图所示:

总结

该例子相对来说有些难度,但能够很好的帮助我们理解LabVIEW中的一些基本编程思想,如状态机机制、while循环与事件结构的框架结构等。涉及到的知识点还包括了图片处理函数、移位寄存器、属性节点的使用等。

看到此处说明本文对你还是有帮助的,关于“LabVIEW编程实例:手把手教你做一个图片浏览器软件”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
手把手以实例教你学LabVIEW编程 事件结构框架

手把手以实例教你学LabVIEW编程 事件结构框架

事件,结构,代码,所示,鼠标,类型,如下图,信息,数据,程序框图,字符串,控件,按键,本例,界面,事件中,编程方法,函数,字符,方式,时间,框架,程序,软件,键盘,循环,运行,中事件,事件信息,日期时间

2011-10-12 #故事大全

LabVIEW编程实例:趣味流水灯程序设计

LabVIEW编程实例:趣味流水灯程序设计

流水灯,代码,移位寄存器,函数,数值,控件,状态,结构,移动,板上,小程序,事件,功能,数组,程序,循环,事件中,位数,例子,时候,布尔,所示,设计,运行,退出程序,右移,左移,在事,小伙伴,中实

2012-12-05 #故事会在线阅读

手把手以实例教你学LabVIEW编程 顺序结构用法

手把手以实例教你学LabVIEW编程 顺序结构用法

顺序结构,随机数,时间,平铺,循环,运行,代码,所示,控件,数据,程序框图,过程,设计,如下图,个数,功能,内容,区别,语言,完全相同,局部变量,屏幕,帧数,方式,数值,本例,程序运行,空间,计数器,顺序

2020-09-06 #故事会在线阅读

以实例跟我学LabVIEW编程:如何求解1000以内的所有素数

以实例跟我学LabVIEW编程:如何求解1000以内的所有素数

素数,循环,数组,移位寄存器,余数,子程序,整数,符合条件,程序,代码,函数,字符串,根号,自然数,问题,循环结束,个数,思路,条件,框图,结果,一个大,写一个,如何判断,判断是否,看一下,循环次数,转换为,电子表格,图中

2016-08-12 #故事会在线阅读

LabVIEW编程基础:以实例教你学习For循环和移位寄存器的编程

LabVIEW编程基础:以实例教你学习For循环和移位寄存器的编程

移位寄存器,数组,循环,数字,函数,余数,位数,所示,如下图,思路,循环结构,个位,之和,代码,例子,关键点,关键,定义,控件,情况,理出,知识点,结构,语言,能力,参数说明,空数组,选择结构,编程语言,商部

2020-03-20 #故事会在线阅读

开源软件之Shotcut:国产系统下用免费软件做视频尺寸调整匹配

开源软件之Shotcut:国产系统下用免费软件做视频尺寸调整匹配

视频,视频素材,尺寸,画面,轨道,格式,滤镜,调整,拖入,预览,开源软件,实例,位置,区域,情况,效果,手柄,模式,黑边,剪辑,视频剪辑,调节,国产操作系统,位置和,可以直接,如果我们,我们需要,新建一个,视频剪辑软件,加号

2010-11-09 #短篇故事

推荐个高速看图——Honeyview蜂蜜图像浏览器

推荐个高速看图——Honeyview蜂蜜图像浏览器

图片,信息,图像,格式,免费软件,极速,浏览器,照片,病毒,速度,蜂蜜,用的是,间谍软件,压缩包,无广告,插件,位或,方都,发现了,谷歌,明月,图像格式,幻灯片,地点,文件夹,良心,代理,到今天,优化图像,位版本

2020-09-25 #故事大全

如何在JavaScript中解析URL

如何在JavaScript中解析URL

属性,实例,字符串,组件,参数,构造函数,地址,例子,域名,方式,相对路径,路径,个参数,广泛支持,现代浏览器,空字符串,缩写,图片,内容,作用,合规,和校验,基础,对象,开头,指向,快捷方式,性能,文件,接口

2011-12-15 #长篇故事