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

Problem Bildexport mit 2 versch. Betriebssystemen

 

Maik aus Magdeburg

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.09.2013, 19:53     Titel: Problem Bildexport mit 2 versch. Betriebssystemen
  Antworten mit Zitat      
Hallo, ich habe ein Problem mit der Print-funktion.
Ich habe dafür folgenden Code
Code:

            figurtitel=[ num2str(vv) ' RRWS 2D-Plot ' liste{version} ];
            figure('Name',figurtitel,'NumberTitle','off','Position',[10 50 1900 940])
            hold on
            for gi=1:LC
            % plot(...)
            % zahlreiche sachen und noch einige Berechnungen
            Startwerte{gi} = ([num2str(gi) '. Lösung= ' num2str(prozent) '% ;  It.= ' num2str(ME) ' +/- ' num2str(MA) ' ;  Sign= ' num2str(GRUPPEN{gi}(1,15)) ...
                                       ' ; s0= ' num2str(meds0) ' ; \surd Qxx: X0= ' num2str(medX0) 'mm ; Y0= ' num2str(medY0) 'mm ; Z0= ' num2str(medZ0) ...
                                       'mm ; r1= ' num2str(medR1) 'mr ; r2= ' num2str(medR2) 'mr ; r3= ' num2str(medR3) 'mr ; r4= ' num2str(medR4) 'mr']);
            saveas(gcf,[ figurtitel '.fig']); % speichern der Figuren im aktuellen Verzeichnis
            set(gcf,'PaperPositionMode','auto')
            print('-dpng','-r300','-noui',figurtitel); % speichen der Bilder im aktuellen Verzeichnis
            end
 

Der Code funktioniert auf Windows wo ich meinen Programmcode in Matlab erstellt habe wunderbar. Breite, Höhe, Auflösung, alles gut auch bei verschiedenen Matlabversionen (ich 2007b; Firma 2012 und 2010).
Ich möchte den Code aber einem Linux-basierden Cluster anwenden. Neben den üblichen Problemen in Linux (unter anderem das er nicht einmal die Beschriftung innerhalb der Figuren richtig macht (keine ö ü oder ä)) habe ich das Problem das er die Figur nicht richtig macht. Er liefert mir zwar ein Bild in PNG-Format mit 4912 x 2432 Pixel jedoch passt er die Figur nicht an die Bildgröße an. Außerdem schneidet er mir dadurch meine Legende ab. Im Anhang sind 2 Bilder, das eine so wie es in Linux aussieht und das andere (mit der windows-version erstellt) so wie es aussehen sollte.
Was kann man machen damit des gleich wird?
Forum habe ich dazu bis jetzt leider nichts gefunden.
Da es sich nicht nur um eines sondern um ein paar tausend Bilder handelt sollte irgendwie mit code zu realisieren sein und nicht mit einer händischen nachträglich exportierung. Hier im

Mit freundlichen Grüßen

Maik aus Magdeburg

1271 RRWS 2D-Plot AlZeKa1.png
 Beschreibung:
wurde mit windows erstellt (so soll es mal werden)

Download
 Dateiname:  1271 RRWS 2D-Plot AlZeKa1.png
 Dateigröße:  191.81 KB
 Heruntergeladen:  623 mal
1271 RRWS 2D-Plot AlZeKa.png
 Beschreibung:
wurde mit linux erstellt

Download
 Dateiname:  1271 RRWS 2D-Plot AlZeKa.png
 Dateigröße:  23.31 KB
 Heruntergeladen:  592 mal


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 30.09.2013, 23:06     Titel: Re: Problem Bildexport mit 2 versch. Betriebssystemen
  Antworten mit Zitat      
Hallo Maik,

Wow, das ist aber mal ein häßlicher Thread. Das riesige Bild macht das Lesen nahezu unmöglich.

Das abschließende "Hier im " sieht auch ganz spannend aus.

Aber zum eigentlichen Problem. Leider habe ich kein Linux zum Testen zur Verfügung. Ich würde aber versuchen die Arbeit an GhostScript weiterzugeben:
Code:
print(gcf, '-dpsc2', '-r300', 'test.eps');
system([GS, ' -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r300 -sOutputFile=test.png test.eps'])

Dabei ist "GS" das GhostScript Executable. Ich habe ein aktuelles GhostScript auf meinem Windows-Rechner installiert und benutze nicht das in Matlab enthaltene für solche Aufgaben.

Hilft das?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Maik aus Magdeburg

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2013, 01:04     Titel:
  Antworten mit Zitat      
Hallo Jan,

das die Bilder so groß abgebildet werden wusste ich nicht. Schön lesbar ist es nicht, aber dafür sieht man den gravierenden Unterschied gut.

Nach dem ich deinen Code gesehen habe musst ich erst mal in der M-hilfe nachgucken was des bewirken soll.
Die erste Zeile von deinem Code verstehe ich noch und macht mein Matlab auch noch. Matlab erstellt eine Vektorgraphik. Da der Linux-cluster ein nodisplay mode ist kann, so wie ich es aus der Hilfe herauslese das ‚ -r300 auch noch raus, weil matlab es nicht nutzen kann. Leider kann ich die erstellte Grafik nicht öffnen.
Die zweite Zeile von dir funktioniert bei mir nicht, was wahrscheinlich daran liegt, dass du nicht das Matlab-GhostScript nutzt. Leider habe ich keine Adminrechte für den Linux-cluster, so dass ich dort keine zusätzlichen Programme installieren kann.
Ich vermute deine zweite Codezeile sollte bewirken, dass die Vektorgrafik eingelesen wird und dann als PNG mit der Auflösung 300 abgespeichert wird. Aber es funktioniert leider nicht.
Gibt es noch eine weiter Möglichkeiten die Grafiken in Linux zu generieren oder muss ich drauf warten erst danach alle M.fig Dateien runter zuladen um sie anschließend auf meinen „Windows-Matlab mit Bildschirm“ in ein PNG zu konvertieren.

Mit freundlichen Grüßen

Maik aus Magdeburg
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.10.2013, 11:20     Titel:
  Antworten mit Zitat      
Hallo Maik,

GhostScript würde ich in jeder ernsthaft gepflegten Linux-Distribution erwarten. Wenn es bei Dir trotzdem noch nicht installiert ist, ist es Aufage des Admins dafür zu sorgen, dass Dir die Programme zur Verfügung stehen, die Du benötigst.

Zitat:
Leider kann ich die erstellte Grafik nicht öffnen.

Bitte erkläre das genauer. Warum nicht? Huier wäre es essentiell zu wissen, ob zumindest das EPS-File in Ordnung ist. Ansonsten muss man sich um eine Umwandlung zu PNG erstmal keine weiteren Gedanken machen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Maik aus Magdeburg

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.10.2013, 13:29     Titel:
  Antworten mit Zitat      
Hallo Jan,

leider weiß ich nicht wirklich was der Linux-cluster so an Programmen vorrätig hält. Ich weiß das Matlab darauf installiert ist. Ansonsten wird der Cluster eher für Finite-Elemente Berechnungen genutzt. Zu sagen habe ich dem Admin leider nichts, ich kann Ihn Bestenfalls fragen.
Ich kann die erstellte .eps-Grafik nicht mit Paint, Gimp, IrfanView oder so was öffnen / angucken. Aber nach dem was ich von dir lese, denke ich das ich so ein GhostSkript Programm brauche um die Grafik zu öffnen. Hört sich vielleicht Laienhaft an, aber ich habe so was bis jetzt nie gebraucht/verwendet.
Ich werd mich mal umhorchen ob der Cluster so was vorhält. Wenn nicht muss es eben im post-processing mit einem Extraprogramm machen.

Mit freundlichen Grüßen

Maik aus Magdeburg
 
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.