2016-04-09 4 views
0

Ich versuche, Bereiche des Mandelbrot-Set per Knopfdruck einzoomen. Ich benutze GUIDE und möchte daher die ButtonDownFcn einer Achse verwenden. Ich speichere das Bild in einem Array namens imag, das x & y Koordinaten und Farbe enthält.Matlab ButtonDownFcn arbeitet nicht mit Bild

axes(handles.DrawAxes); 
cla 

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

Antwort

0

As explained here, high-level Plotfunktionen löschen tatsächlich die Achsen Eigenschaften, wenn sie genannt: es ist nicht mehr zugänglich

Die Funktion kann vor dem Plotten aufgerufen werden, aber wenn ich das Bild mithilfe der folgenden Befehle angezeigt werden soll. Also entweder Sie verwenden, um die hold Funktion (die die NextPlot Eigenschaft wirkt), oder setzen Sie einfach den Achsen ButtonDownFcn Rückruf nachimage/imagesc/imshow genannt. Hier

ein Beispiel:

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

Später, wenn Sie das Bild aktualisieren müssen, verwenden Sie das Bild Griff CData Eigenschaft anstelle von Re-Plotten das Bild zu aktualisieren.

+0

Hinweis: Das obige Beispiel wurde für das in R2014b eingeführte HG2-Grafiksystem geschrieben. Sollte für ältere Releases einfach zu ändern sein. – Amro

+0

So kann ich jetzt die buttondownfnc arbeiten mit dem folgenden: axes_handle = handles.DrawAxes; imagesc (imag, 'HitTest', 'Aus'); set (Achsen_Handle, 'ButtonDownFcn', {@ FcnName, a, b}); Ich bin mir jedoch nicht sicher, wie die Position geklickt wird oder auf Handles für meine GUI zugreifen kann. –

+0

das sind separate Fragen, sollten Sie eine neue Frage erstellen und fragen Sie nach diesem Teil .. Aber um Sie zu beginnen, gibt es eine 'CurrentPoint'-Eigenschaft zum Abrufen der Mausposition verwendet. Wie bei den Handles können Sie 'findobj' verwenden oder die Handle in der Benutzeroberfläche mit' guidata' oder 'getappdata' speichern. – Amro

Verwandte Themen