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 (axes2) in einem neuen Fenster (figure2) darstellen ?

 

EccoBravo
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 12.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 15:54     Titel: Bild (axes2) in einem neuen Fenster (figure2) darstellen ?
  Antworten mit Zitat      
Hallo,

bin Anfänger mit folgendem Problem.

Habe eine GUI mit einem Bild (axes1).
Dieses Bild muss ich ganz groß darstellen, da die Feinheiten sonst nicht sichtbar sind.
Sehr gross passt es aber nicht in das Fenster meiner GUI (figure1).

Nun will ich mit einem Button ein neues grosses Fenster (figure2) öffnen, in dem ich das gewünschte Bild in einem Fenster ausfüllenden axes2 darstelle.

Wie kann ich aus meiner bestehenden GUI (figure1) mit einem Button ein neues Fenster (figure2) erzeugen/öffnen ?

Wie bekomme ich meine Bilddaten in das neue grosse axes2 im neuen Fenster (figure2) ?

Vielen Dank

EB
_________________

Ich habe mich nicht mit Ruhm bekleckert, dafür aber andere.
Meine Hobbies,
bunt zuschauen und rhytmisch zuhören!
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 14.09.2011, 16:21     Titel:
  Antworten mit Zitat      
Code:


Die kannst du dann genauso ansprechen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 14.09.2011, 17:08     Titel: Re: Bild (axes2) in einem neuen Fenster (figure2) darstellen
  Antworten mit Zitat      
Hallo EccoBravo,

FIGURE öffnet ein neues Fenster, COPYOBJ kann danach ein bestehendes AXES-Objekt vollständig in das neue Fenster kopieren.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
EccoBravo
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 12.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 17:51     Titel:
  Antworten mit Zitat      
Danke vielmals

ich habe inzwischen schon ein neues figure2 erzeugt
(ein bestehendes figure1 mit save as.. in ein figure2, und dann alles nicht gebrauchte herausgeworfen (aus der .fig und der .m Datei))

Dann habe ich ein neues Bild ax_bild_gross dort hinein platziert.

Mit einem Button kann ich jetzt figure2 (natürlich ohne Bild) sogar aufrufen.

Bei Eurem letzten Vorschlag, ein bestehendes axes in ein neues hinein zu kopieren kommen mir Zweifel in der Bildqualität, denn das axes2 ist wesentlich grösser als das Quellbild axes2.

Bin ich denn nicht besser, wenn ich den hochauflösenden Bildinhalt (matrize) nicht neu in das axes2 lade, ist die Qualität dann nicht besser?


Danke für weitere Hilfe

EB
_________________

Ich habe mich nicht mit Ruhm bekleckert, dafür aber andere.
Meine Hobbies,
bunt zuschauen und rhytmisch zuhören!
Private Nachricht senden Benutzer-Profile anzeigen
 
EccoBravo
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 12.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 17:53     Titel:
  Antworten mit Zitat      
Danke vielmals

ich habe inzwischen schon ein neues figure2 erzeugt
(ein bestehendes figure1 mit save as.. in ein figure2, und dann alles nicht gebrauchte herausgeworfen (aus der .fig und der .m Datei))

Dann habe ich ein neues Bild ax_bild_gross dort hinein platziert.

Mit einem Button kann ich jetzt figure2 (natürlich ohne Bild) sogar aufrufen.

Bei Eurem letzten Vorschlag, ein bestehendes axes in ein neues hinein zu kopieren kommen mir Zweifel in der Bildqualität, denn das axes2 ist wesentlich grösser als das Quellbild axes2.

Bin ich denn nicht besser, wenn ich den hochauflösenden Bildinhalt (matrize) nicht neu in das axes2 lade, ist die Qualität dann nicht besser?


Danke für weitere Hilfe

EB
_________________

Ich habe mich nicht mit Ruhm bekleckert, dafür aber andere.
Meine Hobbies,
bunt zuschauen und rhytmisch zuhören!
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 14.09.2011, 18:27     Titel:
  Antworten mit Zitat      
Doch, das Bild solltest du dann neu plotten!
Private Nachricht senden Benutzer-Profile anzeigen
 
EccoBravo
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 12.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.09.2011, 18:57     Titel:
  Antworten mit Zitat      
Danke für die Bestätigung,

aber wie kann ich das Bild axes2 in figure2 aus der figure1.m Datei plotten?

Danke EB
_________________

Ich habe mich nicht mit Ruhm bekleckert, dafür aber andere.
Meine Hobbies,
bunt zuschauen und rhytmisch zuhören!
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 15.09.2011, 01:15     Titel:
  Antworten mit Zitat      
Hallo EccoBravo,

Zitat:
Bei Eurem letzten Vorschlag, ein bestehendes axes in ein neues hinein zu kopieren kommen mir Zweifel in der Bildqualität, denn das axes2 ist wesentlich grösser als das Quellbild axes2.

Wenn Du von COPYOBJ süprichst, sollte überhaupt kein Problem sein, da keine Pixel-Kopie erzeugt wird. Es werden die Objekte kopiert und in der Auflösung des Ziel-AXES-Objekts neu gezeichnet.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
EccoBravo
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 12.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2011, 09:00     Titel:
  Antworten mit Zitat      
Danke Euch allen,

werde ich also auch so machen mit COPYOBJ !

Nun bleibt aber die Frage wie?

Ich habe ein Hauptprogramm figure1.m mit einem figure1.fig.
Darin ist das Quellbild axes1 und ein PushButton pb_BildGross.

Weiter habe ich ein zweites Fenster figure2,
bestehend aus figure2.m und figure2.fig.
Darin ist auch das Zielbild axes2.

Mit dem PushButton pb_BildGross will ich das figure2 öffnen
und axes1 in das Zielbild axes2 hineinkopieren.

Entschuldigt bitte die konkrete Code-Fragerei, ich bin eben MatLab-Anfänger und probiere mich schon bei einfachen Fragen, die ich in meiner Heimatsprache DELPHI spielend gelöst hätte, einfach tot.
Ich muss in MatLab alles neu erlernen.
Aus Delphisicht ist MatLab eher eine Kaugummisprache, dafür aber eine sehr effiziente Sprache.

Vielen Dank und Grüsse

EB
_________________

Ich habe mich nicht mit Ruhm bekleckert, dafür aber andere.
Meine Hobbies,
bunt zuschauen und rhytmisch zuhören!
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 15.09.2011, 09:39     Titel:
  Antworten mit Zitat      
Hallo EccoBravo,

Die Details kann ich nicht erraten.
Der Callback des PushButtons muss die figure2 öffnen und benötigt den FIGURE Handle. Entweder wird der als Output von der Funktion figure2.m zurückgegeben, oder du muss in get(0, 'Children') per FINDOBJ nach einer figure suchen, die den benötigten Tag hat.
Dann kannst Du mit COPYOBJ das AXES-Objekt in die Figure2 kopieren, aber so weit ich mich erinnere nicht in ein existierendes AXES Objekt. Das kopierte ergibt ein neues AXES-Objekt.

Konkreter kann ich nicht werden.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 15.09.2011, 10:33     Titel:
  Antworten mit Zitat      
Beispiel:

Code:
hFig = figure;
hAx2 = axes('Parent', hFig);
plot(hAx2, rand(10,1), rand(10,1))
Private Nachricht senden Benutzer-Profile anzeigen
 
EccoBravo
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 64
Anmeldedatum: 12.08.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.09.2011, 12:16     Titel:
  Antworten mit Zitat      
Super und danke,

einwandfreie Lösung,

ich habe diese noch leicht abgeändert wie folgt:

Code:
fh = figure2;
h = findObject(gca, 'tag','axes2');
colotmap jet;
imagesc(bildmatrix1);
axis image;
axis off;


So langsam lerne ich MatLab ohne zu begreifen.

Danke

EB
_________________

Ich habe mich nicht mit Ruhm bekleckert, dafür aber andere.
Meine Hobbies,
bunt zuschauen und rhytmisch zuhören!
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.