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

Bild in axis anzeigen

 

halLLLLLLO

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.09.2010, 12:03     Titel: Bild in axis anzeigen
  Antworten mit Zitat      
Hallo

ich habe mittels einer Gui eine m-file erzeugt in der ich meine eigentliches Programm geschrieben habe. Über diese GUI hat der Anwender die Möglichkeit mehrere Anwendungsfälle auszuwählen.
Nach dem drücken des Start Buttons erscheinen diverse helpdlg's.
Um das ganze jetzt grafisch zu verschönern möchte ich jedoch anstelle von helpdlg's ein neues figure mit mehreren axis verwenden und in diesen axis unterschiedliche jpg's anzeigen.

Habe das Problem das ich aus meiner m-file nicht auf das neue (also das zweite Figure zugreifen kann.
Habe es mit dem set(handles.(figure2/Tag) Begriff versucht.
Kann mir da jemand weiterhelfen?

Danke und Gruß


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.09.2010, 13:45     Titel:
  Antworten mit Zitat      
Hat keiner eine Idee?
Hab es jetzt auch mal mit einer Hilfsvariablen versucht

C=figure(figure2);
C=imread...
image(C);

wobei figure2 das neue Figure ist in dem ich die Bilder anzeigen will.
DAs funktioniert zwar auch schon nur möchte ich auf unterschiedliche AXES zugreifen

nur wenn ich es mit figure(figure2(Tag)); versuche bekomme ich eine Fehlermeldung mit undefindes function or variable Tag

Entschuldigt auch meinen Axis bzw Axes Fehler
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 02.09.2010, 17:25     Titel:
  Antworten mit Zitat      
Hallo,

also versuch es mal folgendermassen:

1. Erstell dein Hauptgui (Gui1)

2. Erstell ein 2. Gui (Gui2) in dem du deine "Axes" plazierst

Um nun auf die Axes im Gui2 aus dem Gui1 zuzugreifen musst du folgende Codzeilen ins Gui1 einfuegen (z.B. in einen button callback):

Code:

load mandrill % load image

axes(handles.axes1) % activate axes1 in Gui1
image(X), colormap(map) % show image in axes

h = Gui2; % open Gui2 and save figure handles
gui2_data = guidata(h); % save Data from Gui2

axes(gui2_data.axes1) % activate axes1 in Gui2
image(X), colormap(map) % show image in axes
 


In meinem Beispiel enthalten beide Guis jeweils eine "Axes".

Falls der Inhalt der Axes im Gui2 immer gleich ist, kannst du natuerlich auch einfach in der opening function des Gui2 deine axes nach gewohnten Muster (axes(handles.axes1)...image(X)) zum Anzeigen der Bilder nutzen. Dann reicht es nur die Gui2 aus der Gui1 aufzurufen. Somit ersparst du dir die Interaktion zwischen den Guis.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.09.2010, 17:57     Titel:
  Antworten mit Zitat      
So richtig funktioniert das leider noch nicht.

Ich habe in meiner m-file aus Gui1 eine for Funktion und nur wenn die erfüllt ist soll er mir ein bestimmtes Bild in einem der Axis aus GUI2 anzeigen.

Ich habe es jetzt mal mit

Code:
Bild=guidata(Ausgabe) %Ausgabe ist der Titel von GUI2
axes(Bild.test1) %test1 ist eine der in GUI2 eingefügten axes
C=imread('C:\...')M
image(C)


versucht und bekomme die Fehlermeldung
??? Reference to non-existent field test1

Habe ich da irgendwo einen gedanklichen Fehler gemacht?[/code]
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 02.09.2010, 18:07     Titel:
  Antworten mit Zitat      
Hallo,

dann wird wohl in der Gui2 keine Axes mit dem Name (Tag) test1 vorhanden sein...?

Was steht denn bei "Tag", wenn du deine axes "test1" in der Gui2 mit dem property inspector oeffnest ?

Also falls du da nix geaendert hasst, werden die axes standartmaessig mit axes1, axes2 .... axesX bezeichnet.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.09.2010, 18:09     Titel:
  Antworten mit Zitat      
Hi

danke hab grad noch einmal die Tags übergrüft. Hatte TEST anstatt wie in der m-file test geschrieben.

Jetzt funktionierts

Danke
 
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.