笔者最近参加了一个小比赛,需要用MATLAB 写个软件,这里总结一下界面美化时的一些心得体会。
实现方法是找的网上大牛提供的经验并结合自己的改进,这里就不一一列出链接,如果侵权,请联系笔者。
直接给出效果图:
1.button按钮设置背景图片
上图中的个人中心图标、用户设置图标和退出图标都是button按钮,底下的文字为静态文本。设置button按钮设置背景图片,可在GUI开头的OpeningFcn()函数下写入以下内容:
position = get(handles.personCenterButton,'Position');
I = imread('.\icon\icon_boss_fill.bmp'); %读取图片
I = imresize(I, [position(4)*2.85*5, position(3)*5]);
set(handles.personCenterButton,'CData',I); %将按钮的背景图片设置成I,美化按钮
guidata(hObject, handles);
其中,personCenterButton 为个人中心按钮的tag
第1行代码:需要先得到按钮的 position 属性,position = [x, y, width, heigth]
第2行代码:读入图标图片
第3行代码:将图片resize为按钮的大小,至于为什么要设置为position(4)*2.85*5, position(3)*5?因为笔者发现:position中的宽和高是具体物理量,而图像的大小是像素的行列数,二者存在一定的映射关系。
第4行代码:将按钮的背景图片设置成 I,美化按钮
第5行代码:更新GUI
2.注意事项
在设置button按钮背景图片时,一定要注意图片的背景颜色要和整个GUI界面的背景颜色一致,不然效果可能就是下图所示: