In Matlab, wie speichern Sie eine Figur als Bild auf die gleiche Weise wie "Speichern unter ..." im Figurenfenster?

8

Welche Funktion verwendet Matlab beim Speichern einer Figur? Zum Beispiel, wenn ein Benutzer Datei & gt; Speichern unter ... und wählt dann .png oder ein anderes Bildformat, was passiert hinter den Kulissen?

Ich frage, weil ich versuche, das Speichern zu automatisieren, aber wenn ich saveas oder print verwende, ist das resultierende Bild wirklich verpixelt. Das Bild sieht jedoch sehr gut aus, wenn ich die Figur mit der oben beschriebenen Methode speichere.

Mit welcher Methode soll ich meine Figur von der Kommandozeile aus speichern? Die tatsächliche Methode, die das Zahlenfenster verwendet, würde funktionieren, aber wenn Sie bessere Lösungen haben, würde ich es schätzen!

    
tylerthemiler 21.09.2010, 18:13
quelle

2 Antworten

9

Der Rückruf für den Menüpunkt "Speichern unter ..." ruft die Funktion FILEMENUFCN auf, wobei das erste Eingabeargument das Handle der Figur ist, in der sich das Menü befindet, und das zweite Eingabeargument die Zeichenfolge 'FileSaveAs' ist. Wenn Sie das Zahlenhandle in der Variablen hFigure gespeichert haben, sollte der folgende Befehl dem Klicken auf den Menübefehl "Speichern unter ..." in diesem Figurenfenster entsprechen:

%Vor%


Ein paar Anmerkungen ...

  • Die Funktion FILEMENUFCN ist nur teilweise dokumentiert. Sie können help filemenufcn im Befehlsfenster ausführen, aber es gibt keinen Eintrag dafür in der Online-Dokumentation. In MATLAB 2009a finden Sie die Funktion im folgenden Ordner:

    %Vor%

    Beim Durchsehen des Funktionscodes scheint es, dass er letztendlich entweder die Funktion SAVEAS aufruft .fig-Dateien oder die Funktion HGEXPORT (mit zusätzlichen Eingabeargumenten) für andere Dateitypen.

  • Ich konnte den Rückruf für den Menüpunkt "Speichern unter ..." ausfindig machen, indem ich die untergeordneten Elemente des Figurenfensters und dessen Menüs durchsuche. Sie können dies selbst tun, indem Sie die Stammeigenschaft 'ShowHiddenHandles' auf 'on' und dann durchqueren Sie die 'Children' Eigenschaften des Figurenfensters und dessen Menüs mit < a href="http://www.mathworks.com/help/techdoc/ref/get.html"> GET Befehl. Alternativ können Sie den Befehl FINDALL verwenden, vorausgesetzt, Sie kennen einige Eigenschaften der Objekte, die Sie suchen zum. Zum Beispiel findet dies das Handle im Menü "Datei" für das aktuelle Figurenfenster:

    %Vor%

    Und dies wird den Punkt "Speichern unter ..." finden und seinen Rückruf anzeigen:

    %Vor%
gnovice 21.09.2010, 18:26
quelle
2

Ich weiß nicht wie es euch geht, aber für mich sieht das gespeicherte Bild gut aus.

Codebeispiel:

%Vor%

Um eine benutzerdefinierte Auflösung festzulegen, verwenden Sie:

%Vor%

wobei SOMENUMBER ein Parameter ist, der für die Auflösung verwendet wird. Die endgültige Resolution ist (SOMENUMBER * 8) x (SOMENUMBER * 6)

    
George 21.09.2010 18:25
quelle

Tags und Links