[英]Matlab ButtonDownFcn not working with image
我正在嘗試通過按下按鈕來放大Mandelbrot集的區域。 我正在使用GUIDE,因此想使用軸的ButtonDownFcn
。 我將圖像存儲在名為imag
的數組中,該數組包含x
和y
坐標和顏色。
可以在繪制之前調用該函數,但是當我使用以下命令顯示圖像時,將無法再訪問該函數:
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.