matlab--GUI 如何实现打开图片

版权声明:作者:小白 https://blog.csdn.net/weixin_43687366/article/details/89136025

在命令行窗口输入guide会自动弹出GUI的初始化状态,选择自己默认的状态,其他的也可以!然后简单绘制一个座标轴用于显示你要的图片!我的简单的GUI如下!

当你编辑好界面后,在对应的.m文件里你会看到一堆函数,一开始做学习做简单界面的功能的时候,并不需要理会这些函数究竟写了什么,只需要明白你实现的控件对应的回调函数,也就是Callback函数,实现的功能代码写进函数里就行。而CreateFcn是在生成这个控件显示之前,执行这个函数名下的代码;DeleteFcn则是在控件要销毁,但是在被销毁之前执行这个函数名下的代码。

然后右键选择“编辑器”进行编写代码!

因为上面添加的是坐标轴axes1,每次运行时界面都会有坐标的标注,而我需要的是一个能显示图片的区域,因此需要在Openingfcn里添加这样一句代码:set(handles.axes1,'visible','off'); 让坐标轴的标注和刻度去掉(其实是隐藏掉)。


 

接下来就是“选择图片”的回调函数代码如下:(因为第一个“选择图片”是一个按钮,所以要点击按钮进行操作选择图片,所以要在pushbutton1_callback()中编写代码)

% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
axes(handles.axes1);
[filename,pathname]=uigetfile({'*.bmp;*.jpg;*.png;*.jpeg;*.tif'},'选择一个图片','F:\test');
str=[pathname filename];
% 判断文件是否为空,也可以不用这个操作!直接读入图片也可以的
% im = imread(str);
% imshow(im)
if isequal(filename,0)||isequal(pathname,0)
    warndlg('please select a picture first!','warning');
    return;
else
    im = imread(str);
    imshow(im);
end

 至于程序的退出比较简单,在”退出“的Callback函数里添加 close; 就行了。

% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
close

最后我们看一下效果:

点击退出即可结束! 

猜你喜欢

转载自blog.csdn.net/weixin_43687366/article/details/89136025