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

Bilder speichern: Problem mit Grafikspeicherinhalt

 

DerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2012, 09:22     Titel: Bilder speichern: Problem mit Grafikspeicherinhalt
  Antworten mit Zitat      
Hallo miteinander,

ich habe folgendes Problem:

Wenn ich in MATLAB eine Grafik speichere (dies tue ich in einer Schleife), dann speichert MATLAB immer den aktuellen Bildschirminhalt, sprich, wenn ich ein Bild mit 640x512 speichere und gerade im Explorer arbeite, dann ist mein resultierendes Bild der entsprechende Ausschnitt aus dem Explorerfenster!

Wie kann ich dies umgehen?


madlab
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 86
Anmeldedatum: 15.05.12
Wohnort: Freiburg
Version: 7.11 (R2010b)
     Beitrag Verfasst am: 21.11.2012, 10:27     Titel:
  Antworten mit Zitat      
Hallo Gast,

ich glaube du solltest dein Problem etwas genauer beschreiben. Welchen Teil des Bilschirms willst du den aufnehmen? Was für Befehle nutzt du bisher (evtl. Beispielcode)? Was genau möchtest du umgehen?

Grüße,

mad
Private Nachricht senden Benutzer-Profile anzeigen
 
DerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.11.2012, 10:58     Titel:
  Antworten mit Zitat      
Also ich lege eine figure an, beschreibe diese mit Messdaten und speichere dann:

Code:
...
...


    BildHandle=figure;

    %Alle Menü- und Symbolleisten weglöschen
    set(BildHandle,'ToolBar','none','MenuBar','none');

    [Xout,yh,yg,XMean,XStd,XMin,XMax]=Graph_Histo(BildMatrix,100);
    if XStd==0
       XStd=.333;
    end
    imagesc(BildMatrix,[XMean-3*XStd XMean+3*XStd]);
    colorbar;

    FigureFileName=[num2str(clock,'%.1f') '.bmp'];   %einzigartigen Dateinamen
                                                                      %erzeugen
    disp(['Save JPG : ' wd '\' FigureFileName]);                %Statusmeldung
    saveas(BildHandle,[wd '\' FigureFileName],'bmp')
    close(BildHandle);


Wenn das Bild auf dem Bildschirm angezeigt wird und ich z.B. den Explorer aufmache (der dann quasi über dem Bild liegt) wird einer der Bildgröße entsprechender Ausschnitt des Explorerfensters als Bild gespeichert.
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 21.11.2012, 12:26     Titel:
  Antworten mit Zitat      
Hallo,

Eigentlich sollte ein DRAWNOW reichen, um alle Fenster zu zeichnen, bevor sie aufgenommen werden. Seitdem aber Java für die Fenster-Darstellung verwendet wird, ist noch "pause(0.02)" hilfreich. Leider ist dies nicht dokumentiert.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
DerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.11.2012, 07:43     Titel:
  Antworten mit Zitat      
Ich probiers heut mal, danke.
 
DerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2012, 10:03     Titel:
  Antworten mit Zitat      
Hat leider nicht geholfen, sobald ein anderes Fenster das Figure-Fenster überlappt wird es mitgespeichert...
 
madlab
Forum-Fortgeschrittener

Forum-Fortgeschrittener



Beiträge: 86
Anmeldedatum: 15.05.12
Wohnort: Freiburg
Version: 7.11 (R2010b)
     Beitrag Verfasst am: 04.12.2012, 11:55     Titel:
  Antworten mit Zitat      
Du könntest versuchen das Figure zum Zeitpunkt des Abspeicherns in den Vordergrund zu bringen und danach den Vorgang auszuführen. Ist evtl. nicht die schönste Lösung aber so könntest du vllt. verhindern das ein anderes Fenster dein Figure überlappt.

Code:


Grüße,

mad
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: 04.12.2012, 18:40     Titel:
  Antworten mit Zitat      
Hallo,

Yepp. Für eine Bildschirm-Kopie des Fensters mit GETFRAME muss es im Vordergrund sein. PRINT kopiert auch Fenster im Hintergrund, man bekommt aber keine Pixel-genau Kopie.

Gruß, Jan
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.