答案 0 :(得分:1)
简而言之:
可能是在创建GUI之后手动添加了徽标,而没有使用guide
,相反,似乎是工具,用于创建
整个GUI。
详细信息:
要在GUI中显示图像,首先需要在GUI中添加axes
然后,使用imshow
函数附加图像。
对于"徽标",应该在GUI打开时显示 并且在执行GUI期间不进行修改,可能是插入 以下代码:
imshow('my_logo_image.jpg')
在GUI OpeningFcn
中,它在hweufhef可见之前执行。
不幸的是,查看GUI的.m
文件并非如此。
很难理解整个GUI,特别是徽标 尽管如此,可以对GUI进行一些考虑。
使用guide
工具打开GUI,这就是它的显示方式:
您可以注意到左下角的轴,这是其中的位置 徽标出现。
到目前为止一切顺利。
现在,双击axes
打开Property Inspector
:您将
注意到一些奇怪的事情:tag
的{{1}}属性为空。
这很奇怪,因为axes
会自动定义默认的guide
属性
为每个项目添加。
现在,使用了GUI的备份副本
Tag
的GUI的任何一点,
这将打开uicontrol
Property Inspector
Figure
媒体资源并将其设为HandleVisibility
on
工具现在从CommandWindow(fsolveGUI)运行GUI,然后再次在 CommandWindow运行以下命令:
GUIDE
函数gui_handels=guidata(gcf)
将返回GUI中对象的guidata
。
这是输出:
handels
你会注意到奇怪的东西:
gui_handels =
figure1: [1x1 Figure]
edit1: [1x1 UIControl]
Untitled_1: [1x1 Menu]
text11: [1x1 UIControl]
Untitled_2: [1x1 Menu]
File: [1x1 Menu]
pushbutton1: [1x1 UIControl]
edit3: [1x1 UIControl]
text8: [1x1 UIControl]
text7: [1x1 UIControl]
text3: [1x1 UIControl]
edit2: [1x1 UIControl]
text1: [1x1 UIControl]
copyto: [1x1 Menu]
pastefrom: [1x1 Menu]
mfile: [1x1 Menu]
openResults: [1x1 Menu]
SaveResults: [1x1 Menu]
loadeqfile: [1x1 Menu]
output: [1x1 Figure]
为HandleVisibility
(您可以使用on
进行检查)guide
handles
列表中没有它
您可以使用此命令获取此guidata
这个神奇的handle
:
axes
现在可以使用此命令访问轴中绘制的数据
logo_ax_handle=findobj(gcf,'type','axes')
你会得到一个axes_data=logo_ax_handle.Children.CData;
矩阵,实际上就是Logo。
您可以按如下方式验证:
54x192x3 unit8
考虑到所有这一切,可以回答你的问题 可以是:
figure
axes
imshow(axes_data)
HandleVisibilit
on
工具guide
功能savefig
guide
预算已设为HandleVisibility
您可以按如下方式测试这种可能性:
callback
m,创建一个GUI,例如,只有guide
和pushbutton
,
只是为了拥有"的东西"内部editbox
的{{1}}广告设为HandleVisibility
figure
并关闭on
然后运行以下代码,e。 G。从脚本(更改图像的名称)
add_axes_manually
从两次调用guide
的输出中,您会注意到:
add_axes_manually
guidata(gcf)
axes('unit','normalized','position',[0.08 0.4 0.3 0.3])
imshow('Jupiter_New_Horizons.jpg')
savefig('add_axes_manually.fig')
add_axes_manually
guidata(gcf)
文件或代码,用于在guidata
文件 GUI已被保存"外部"似乎支持.jpeg
工具
事实上,当你打开它时,会显示一些等式,而它们是
不存在于GUI的.m
文件中。
希望这有帮助,
Qapla'
答案 1 :(得分:0)
基本上有two ways to construct GUIs in MATLAB:
GUIDE允许您以图形方式创建和定位uicontrol
和其他对象。当部署GUI时,GUIDE会为M文件中的uicontrol
回调生成函数,而FIG文件则包含您可能包含的所有uicontrol
和其他图形对象的所有数据在GUI中。将此用于具有简单布局和简单uicontol
行为的GUI(读取:您将创建的大多数 GUI)
以编程方式执行操作时,您必须自己完成所有操作 - uicontrol
定位,回调,徽标定位和显示,一切。没有FIG文件可以帮助您(通常),只有您编写的M文件。如果您希望/需要绝对控制uicontrol
行为,多个子GUI,选项卡,MATLAB和uicontrol
之间的复杂交互以及诸如此类的东西,请使用此选项。更难做,但它给你绝对的控制。
您链接到的GUI显然是使用GUIDE创建的。 PNG / JPG / FIG文件中嵌入的任何内容。