簡體   English   中英

Matlab ButtonDownFcn無法使用圖像

[英]Matlab ButtonDownFcn not working with image

我正在嘗試通過按下按鈕來放大Mandelbrot集的區域。 我正在使用GUIDE,因此想使用軸的ButtonDownFcn 我將圖像存儲在名為imag的數組中,該數組包含xy坐標和顏色。

可以在繪制之前調用該函數,但是當我使用以下命令顯示圖像時,將無法再訪問該函數:

axes(handles.DrawAxes);
cla

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

如此處所述高級繪圖功能實際上在被調用時會清除軸屬性。 因此,您可以使用hold函數(這會影響NextPlot屬性),或者在調用image / imagesc / imshow 之后簡單地設置軸ButtonDownFcn回調。

這是一個例子:

% 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');

以后,如果您需要更新圖像,請使用圖像句柄更新CData屬性,而不是重新繪制圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM