matlab GUI自定义图片做背景 您所在的位置:网站首页 怎么在qq设置自定义背景图片 matlab GUI自定义图片做背景

matlab GUI自定义图片做背景

2024-06-03 10:49| 来源: 网络整理| 查看: 265

                          原理是坐标轴覆盖,就是在坐标轴上显示图然后作为背景

一、简单方法

之前实现了在figure上把图片做为背景,现在实现在Guide上实现。

其实很简单,就是在Fcn的地方添加以下代码:

ha=axes('units','normalized','position',[00 1 1]); uistack(ha,'down') II=imread('禾木01.bmp'); image(II) colormap gray set(ha,'handlevisibility','off','visible','off');

另外如果要把那些按钮等的背景也改变,也是在此处添加相应代码就可。

比如下面代码把按钮的背景改变了(此方法已有人在论坛发过帖子,请自己搜索):

I=imread('buttoncdata.bmp'); set(handles.pushbutton1,'cdata',I);

 二、通用方法

实例中我们将调整GUI的尺寸来适应图片的大小,背景是448×336图片,单位为像素

gui

双击GUI的figure(窗体),在跳出的属性查看器中将Units设置为pixels(像素)

将Position属性的Width和Height分别设置为448和336

接下来添加一个坐标系,将Tag设置为axes1

Matlab中没法直接添加背景,而需要借助坐标系这个容器,再将背景显示在坐标系上,其实说白了这就是以假乱真。注意axes必须覆盖整个figure窗体,否则就露馅了!

点击GUIDE工具栏的   按钮,编辑对应的M文件。在customImage_OpeningFcn下面添加如下代码

 

% **_OpeningFcn函数是GUI在打开时的执行的命令,此时GUI界面还没有显示出来

% 将背景图像载入Matlab

% 如果图像不在当前目录,必须使用完整路径

backgroundImage =importdata('sunset-beach.jpg');

% 选择坐标系

axes(handles.axes1);

% 将图片添加到坐标系中,于是就成了背景了

image(backgroundImage);

% 将坐标系的坐标轴标签去掉

axis off

 

为按钮添加可爱的图标

需要注意的是GUI中只有pushbutton、togglebutton以及工具栏按钮才可以添加图标,其它控件都是无效的

在上面得到的GUI中,我们继续在figure上添加一个pushbutton,设置Tag为pushbutton1

 

修改pushbutton1的Units属性为pixels

 

position属性的width和height分别设置为65和65

打开对应的M文件,定位到customImage_OpeningFcn,在下面添加

%import the smiley image into matlab

%if image is not in the same directory asthe GUI files, you must use the

%full path name of the image file

smiley = importdata('smiley.jpg');

 

%set the smiley image as the buttonbackground

set(handles.pushbutton1,'CDATA',smiley);

运行整个GUI程序,效果如下图所示

                                                             



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有