WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Rectangle in GUI figure darstellen

 

49er
Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 23.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.04.2013, 10:17     Titel: Rectangle in GUI figure darstellen
  Antworten mit Zitat      
Hallo zusammen,

ich brauche Hilfe... Ich kenne mich nur ganz schlecht mit GUI's aus und habe folgendes Problem:
In meiner GUI soll ein Bild dargestellt werden und in dieses Bild will ich einen Kreis mit der Funktion "rectangle" Plotten.
Das Bild darstellen krieg ich noch hin, aber ich hab keine Ahnung wie ich meinen Kreis in dieses Bild eingezeichnet bekomm.
Hier mein Code:

Code:

    hold(handles.axes1, 'off');
    p = pcolor(handles.axes1, Mshow);
    set(p, 'EdgeColor', 'none', 'FaceColor','interp');
    colorbar('peer', handles.axes1);
   
    rshow=Dauswert;
    Xshow=xc-rshow/2;
    Yshow=yc-rshow/2;
    rectangle('Position',[Xshow,Yshow,rshow,rshow],'Curvature',[1,1],'LineWidth',3,'LineStyle','-','EdgeColor','w');
   
    drawnow;
 


Hoff mir kann da einer weiter helfen.

Viele Grüße!
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 18.04.2013, 14:43     Titel:
  Antworten mit Zitat      
Hallo,

was klappt denn genau nicht? Gibt es eine Fehlermeldung? Stimmen deine Koordinaten?

in diesem Beispiel funktioniert das:
Code:

load clown
figure, image(X), colormap(map)
rectangle('Position',[150 66 69 49],'Curvature',[1,1],'LineWidth',3,'LineStyle','-','EdgeColor','w')
 
Private Nachricht senden Benutzer-Profile anzeigen
 
49er
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 23.02.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2013, 13:31     Titel:
  Antworten mit Zitat      
Mein Problem lag an den GUI-Befehlen. Habs jetzt mit viel probieren hin gekriegt, obwohl es mir selbst noch nicht so klar ist,warum es funktioniert. Wink

Code:
 
    hold(handles.axes1, 'off');
    p = pcolor(handles.axes1, flipud(Mshow));
    set(p, 'EdgeColor', 'none', 'FaceColor','interp');
    colorbar('peer', handles.axes1);

    rshow=Dauswert;
    Xshow=xc-rshow/2;
    Yshow=yc-rshow/2;

    axes(handles.axes1);
    rectangle('Position',[Xshow,Yshow,rshow,rshow],'Curvature',[1,1],'LineWidth',3,'LineStyle','-','EdgeColor','m','FaceColor','m');
    drawnow;
 


Es klappt, wenn ich "axes(handles.axes1);" hinzufüge. Dann wird der Kreis in mein GUI-Bild gezeichnet.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 26.04.2013, 09:22     Titel:
  Antworten mit Zitat      
Zitat:
Es klappt, wenn ich "axes(handles.axes1);" hinzufüge. Dann wird der Kreis in mein GUI-Bild gezeichnet.


Ach so, das liegt wohl daran, dass du colorbar gezeichnet hast. Dadurch hat sich der Fokus auf die Axes der colorbar verschoben, deswegen wurde rectangle dort geplotten.

Zitat:
axes(handles.axes1);
schalten den Fokus zurück zu den Haupttaxis. Nachteil des AXES, dass nicht nur der Fokus gewechselt wird, sondern, das gesamte Fenster wird in Vordergrund geholt. Besser über SET CurrentAxes das zu machen, dann wird nur der Fokus gewechselt.

Code:

% handles.figure1 muss man anpaasen
set(handles.figure1, 'CurrentAxes', handles.axes1)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.