我的GUI中有4个回调,我将图像放入12个图中。每个按钮加载不同的图像。如何让我的回调改变每次迭代中的图?
function A_Callback(hObject, eventdata, handles)
axes(handles.dna1)
matlabImage = imread('a.png');
image(matlabImage)
axis off
axis image
这是我第一次回调的代码。其他是相同的(只有图像不同)。问题是我有12个图(从dna1到dna12)。在选择回调之后,我希望下一个选择应该是关于下一个情节(dna2,dna3等)。我怎么能这样做?
当我点击任何一个回调时,该字母的图像应该加载到第一个图中。接下来点击任何其他回调应该参考下一个第一个接下来的情节。
答案 0 :(得分:1)
基本上,您需要将 next axis id 传递给您将要使用的下一个callback
函数。因此,请尝试在代码中添加以下步骤:
在DNA_OpeningFcn
中向axesid
结构中添加2个新元素axesnum
和handles
,以便确定要选择的下一个axes
:< / p>
handles.output = hObject;
handles.axesid = 0;
handles.axesnum = 12;
% Update handles structure
guidata(hObject, handles);
然后,在尝试设置下一个轴时,按照以下步骤更改callbacks
实施:
handles.axesid = mod(handles.axesid, handles.axesnum) + 1;
ax = ['dna',int2str(handles.axesid)];
axes(handles.(ax))
matlabImage = imread('coins.png'); % Change the input image
image(matlabImage)
axis off
axis image
guidata(hObject, handles);
确保您将轴命名为dna1
至dna12
。