失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab axes控件 PushButton控件 Axes控件 Text控件以及imshow和image函数

matlab axes控件 PushButton控件 Axes控件 Text控件以及imshow和image函数

时间:2019-04-09 17:58:15

相关推荐

matlab axes控件 PushButton控件 Axes控件 Text控件以及imshow和image函数

--PushButton控件 --

PushButton控件是按钮的意思,它就相当于键盘上的每个键一样,按一下输入一个信号,在GUI中就是按一下执行该控件的回调函数。

PushButton的属性:

只需知道我用红色框住的几个属性 。

BackgroundColor:该控件的颜色。

CData:该控件的背景图片(颜色矩阵)。

Enable:该控件能否被点击,它有三个值分别是'on';'off';'inactive'。

默认值为'on',按钮可以被点击

当为'off'时,按钮呈灰色状态不能被点击

当为'inactive'时,按钮的颜色和为'on'时显示的颜色一样,但是点击它没反应

后面大框的6个属性是按钮上显示字体的属性,不展开说。

Position:其中的x和y是该控件在界面中左下角的坐标,width是控件的宽度,height是控件的高度

String:该控件上要显示的字体,是对外界显示的控件的名字。

Tag:控件的标签,是对内部函数显示的名字再起它函数内部可以通过handles.Tag.Property获取相应控件的属性值。

TooltipString:当鼠标放在该控件上时显示出来的提示信息。当你给控件加上的背景图片,可以给该属性赋上关于该控件是干嘛用的相关信息。

Units:控制控件的单位,当你给控件添加背景图片时应该把单位改为'pixels',然后去改Position中的width和height。

UserData:在回调函数之间的数据传递中可以用的上,可以把与该控件有关的一个重要数据存在UserData中,然后在其他函数内通过handles.Tag.UserData来获得这个数据

Visible:设置该控件是否可见。

PushButton控件的回调函数(有5个,这里只介绍2个):

callback:当Enable的值为'on'时左键点击该按钮,执行此函数

ButtonDownFcn:分两种情况,如果Enable的值为'on',则在该控件周围5像素的范围内左键或者右键执行此函数;如果Enable的值是'off'或者'inactive'时,在该控件上或者改控件周围5像素的范围内点击鼠标左键或右键执行此函数。

一般直接用第一个callback就行。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

-- Axes控件 --

坐标轴在英文中的单数形式是axis(只有一个轴),而axes是其复数形式表示有两个或有两个以上的轴,那不就是坐标系嘛。在MATLAB中图片的显示以及曲线的绘制都是依赖于坐标轴的。(附:这个涉及到句柄图形对象的层次了,我把它放在之后的推文中说一下。)

关于Axes对象的属性有很多,有点MATLAB基础的同学多少会知道点,此处也不再赘述,在后面用到时会说。

Axes控件的回调函数有3个,我目前没用过,其中有一个ButtonDownFcn在后面的应用中可以用WindowButtonDownFcn代替。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

-- imshow和image函数 --

imshow函数和image函数都可以用来显示图片。

imshow函数:坐标轴的范围将就于照片的尺寸,就是说坐标轴的范围随图片尺寸的变化而变化。使用imshow函数能保证图片显示不失真

image函数:图片将就于坐标轴的范围,如果在image函数中不输入图片的左下角顶点和右上角顶点坐标的话将会平铺满整个坐标系。使用image函数,坐标轴的范围就是你一开始设定好的坐标轴的范围,不变。而且通过下图可以发现使用image后把我显示地又矮又胖

。此外如果你先通过axes函数生成一个坐标轴,并在axes函数内直接输入坐标轴的属性,则再使用image函数后显示的图片时倒立的。如下

这样又不倒立了。。。。。

说实话我也不是很清楚,但是,如果倒立的话,你就再加上下面这一句就好了

下图是分别用imshow和image显示的图像:

关于image和imshow它们的用法上还有区别,image只能接收图像矩阵,而imshow既可以接收图像矩阵,也可以接收图片的路径。具体用法比较简单,此处不赘述,读者自行百度或者使用help。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

-- Text控件 --

Text控件又叫静态文本,通常用于显示其他对象的数值。它的所有属性和上面讲的PushButton的属性一样。最常用的也就是String和FontSize其他设置字体的属性根据需要自己设置。

在其他函数内部设置Text的String的值应使用:handles.Tag.String,Tag是你自己给该Text对象的标签赋的名字。

--------------------------------------------------------------------------------------------------------------------------------------------------------------

下面来做一道题:(具体代码今天不公布)

制作一个界面可以实现如下的功能:点击图片打开按钮,弹出一个文件选择对话框,将选中的图片以及图片名显示在当前界面内,并保存该图片所在路径下的所有其他类型为(.jpg;.png;.bmp)的图片(完整路径)以便供日后的其他控件调用。

要求:打开图片的按钮有背景图片(即图片打开按钮的icon);按钮的宽和高都是32x32像素(所以icon最好也是32x32的);当鼠标放在该按钮上时提示‘’打开图片‘’字样;整个界面颜色为黑色;界面大小固定不可调整。最后效果大概如下:(其他按钮请先忽略)

关于icon可以上这个网站上查找(本科大佬室友告诉我的网站):/

-- END --

如果觉得《matlab axes控件 PushButton控件 Axes控件 Text控件以及imshow和image函数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。