Matlab ButtonDownFcn无法使用图像

时间:2016-04-09 17:12:09

标签: matlab onclick matlab-figure matlab-guide buttonclick

我正在尝试使用按钮按下放大Mandelbrot设置的区域。我正在使用GUIDE,因此想要使用轴的ButtonDownFcn。我将图像存储在名为imag的数组中,该数组包含x& y坐标和颜色。

可以在绘图之前调用该函数,但是当我使用以下命令显示图像时,它将无法再访问:

axes(handles.DrawAxes);
cla

imagesc(imag,'HitTest','Off');

1 个答案:

答案 0 :(得分:0)

As explained herehigh-level绘图函数实际上在调用时清除了轴属性。因此,您要么使用hold函数(这会影响NextPlot属性),要么只需在 ButtonDownFcn / {{之后设置轴image回调 1}} / imagesc被调用。

以下是一个例子:

imshow

稍后,如果您需要更新图像,请使用图像句柄更新% create axes ax = axes(); % display image img = imread('cameraman.tif'); imagesc(img, 'Parent',ax, 'PickableParts','none', 'HitTest','off'); axis(ax, 'image') colormap gray % set click callback ax.ButtonDownFcn = @(o,e) disp('axis clicked'); 属性,而不是重新绘制图像。