PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bilder werden unscharf im PDF.



Boron
04-04-2005, 15:24
Hallo zusammen,

ich habe unglaubliche Probleme mit der Qualität von Bildern, die ich in meine Diplomarbeit einfügen will.

Ich habe ein Screenshot von einem Fenster gemacht und dieses als png gespeichert. Da Latex mit png nichts anfangen kann habe ich es mit Gimp als eps gespeichert.

Wenn ich meine Arbeit nun zum pdf konvertieren lasse, dann ist aus dem ursprünglich scharfen Bild ein sehr unscharfes Bild in der pdf-Datei geworden (siehe Bild im Anhang).


So sieht meine Präambel aus:(für Bilder unwichtige Sachen entfernt)
\documentclass[a4paper,12pt]{scrreprt}
\usepackage{graphicx} % für Bilder

So binde ich die Bilder ein:
\begin{figure}[ht]
\centering
\includegraphics[width=\linewidth]{Bilder/guide-blinker}
\caption{Guide State}
\label{guideState}
\end{figure}Das pdf lasse ich auf folgende Weise erstellen (Miktex, TexnicCenter und GhostScript unter Windows):
tex -> dvi -> ps -> pdf
tex -> latex.exe -> dvips.exe -> gswin32c.exe

So sehen die kompletten Aufrufe von dvips in gswin32c aus:
dvips.exe -P pdf "%Bm.dvi"
gswin32c.exe -sPAPERSIZE=a4 -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile="%bm.pdf" -c save pop -f "%bm.ps"

Der letzte Schritt ist Ghostscript.

In der ps-Datei (vorletzter Schritt), ist das Bild noch scharf. Betrachtet in GSView.

Das folgende Bild zeigt links einen Ausschnitt aus dem Originalbild (png) und rechts den entsprechenden Ausschnitt aus der pdf Datei.

bischi
04-04-2005, 15:33
Nur Bildschirm oder auch beim Drucken?

MfG Bischi

Boron
04-04-2005, 15:38
Der Ausdruck auf einem 600dpi s/w-Laserdrucker zeigt auch die Unschärfe.

bischi
04-04-2005, 15:45
versuch mal zum Kompilieren pdflatex

oder konvertier die Grafik mal als jpg


ODER: Massiv besser: \usepackage[dvips]{graphicx}

MfG Bischi

Boron
04-04-2005, 15:54
Zum Kompilieren kann ich pdflatex nicht nutzen, weil ich zusätzliche Pakete nutze, die damit nicht zurechtkommen.

Option [dvips] zeigt keine Veränderung im Ergebnis.

Hier hatte jemand wohl auch das Problem: http://www.mrunix.de/forums/showthread.php?t=36876&highlight=qualit%E4tsverlust
Er spricht auch von Qualitätsverlust. Aber ich kann nur raten, ob er das Bild im pdf meint.

bischi
04-04-2005, 15:56
Und als JPG?

MfG Bischi

Boron
04-04-2005, 16:06
- Screenshot als jpg gespeichert
- in eps umgewandelt
- pdf neu erstellen lassen
- Bild unscharf (noch unschärfer als das jpg eh schon ist) *heul*

Gibt es denn wirklich keine Möglichkeit andere Grafikformate mit Latex.exe zu verwenden als eps und ps?

Pdflatex versteht ja auch png, jpg usw. kann aber mit eps undps nichts anfangen.

Warum mussen sich die Formate gegenseitig ausschließen?

bischi
04-04-2005, 16:15
Ev liegt der Fehler bei Gimp: versuch mal jpeg2ps (oder jpg2ps , weiss nicht mehr genau wies heisst). Kommandozeilentool, musst mal googeln.

MfG Bischi

Daggi
04-04-2005, 16:20
Das pdf lasse ich auf folgende Weise erstellen (Miktex, TexnicCenter und GhostScript unter Windows):
tex -> dvi -> ps -> pdf
tex -> latex.exe -> dvips.exe -> gswin32c.exe

Meine Ergebnisse wurden besser, wenn ich im TeXnicCenter gleich über ps zum pdf gegelagt bin (ohne dvi)?!
tex -> ps -> pdf

Daggi

Boron
04-04-2005, 16:41
@daggi
Wenn du auf die Ausgabeprofile anspielst, dann nutze ich genau das Profil das mit "LaTeX => PS => PDF" bezeichnet wird.
Diese Profil wird vom Assistenten, der die Profile macht, erstellt. Der hat nämlich automatisch erkannt, dass Miktex und GhostScript installiert ist.
Und da wird auch ein dvi erstellt, weil latex.exe das macht, bevor ein ps erstellt werden kann.

Schau bei dir mal nach, ob dieses Profil nicht auch genau die Befehlskette latex.exe - dvips.exe - gswin32c nutzt.

@Bischi
Argh, jetzt habe ich das jpg mit jpeg2ps nach eps konvertiert und du darfst genau ein mal raten was mit Bildqualität im pdf passiert :mad:.

bischi
04-04-2005, 16:45
Es funktioniert ;-)

öffne mal das PS mit gsview und konvertiere dort nach pdf.

Datei --> konvertieren --> pdfwrite und stell die Auflösung auf 600dpi

MfG Bischi

Boron
04-04-2005, 16:55
Gesagt, getan. Aus ps mach pdf.
Was sehen meine mit Tränen gefüllten Augen: mieses Bild.

Irgendwie scheint der Konverter von Ghostscript eine sehr verlustbehaftete Komprimierung von Bildern durchzuführen.

bischi
04-04-2005, 17:07
Eigentlich komisch - denn ich habe mit oben genannter Variante sehr gute Resultate erzielt.

MfG Bischi

PS: Du hast schon gesehen, dass du mit gsview und pdfwrite noch viele Einstellungen angeben kannst - musst mal ausprobieren, denn meine aktuellen stimmen nicht mehr mit den damaligen überein...

Christoph
05-04-2005, 08:31
Ich glaube dein Problem ist die Skalierung des Bildes (width=...). Wenn ein Bild verkleinert wird, muss interpoliert werden, was zur Unschärfe führt.

Versuche mal den Screenshotausschnitt so zu wählen, dass nicht verkleinert werden muss.

Boron
05-04-2005, 09:15
Guten Morgen,

Ich habe jetzt mal mit den vielen verschiedenen Einstellungen des pdfwriters von GSView rumgespielt. Keine davon schenit Auswirkungen auf die erstellte pdf Datei zu haben, zumindest keine, die ich sehen konnte.

Wie von Christoph vorgeschlagen habe ich mal von einem ganz kleinen Fenster ein Screenshot gemacht und dieses als eps eingefügt. Aber an der Skalierung liegt nicht. Das unskalierte Bild ist trotzdem unscharf.

Linke Bildhälfte:
Screenshot von dem Bild in der eps-Datei. Die komische Unschärfe (fettes "r" und "L" bei Pro-Linux) kommt durch eine blöde Skalierung des Bildes in GSView.

ABER rechte Bildhälfte:
Screeshot des Bildes aus der pdf Datei.
Zu erkennen ist das krieslig, unscharfe um feine Linien herum (Schrift). Fast so als wäre das Bild jpg-komprimiert, was eigentlich nicht sein sollte.
Denn der Originalscreenshot wurde in Gimp direkt als eps gespeichert, ohne Zwischenschritt über png oder jpg.

andti
05-04-2005, 09:58
Den ganzen Tipps und Mutmaßungen will ich mich auch einmal anschließen. Hast du denn schon die Option -dPDFSETTINGS=/prepress ausprobiert? Keine Ahnung, ob die eh Standard ist, steht aber in deinem ersten Posting nicht mit drin.

Ansonsten ist vielleicht auch deine eps-Datei nicht ok. Hast du mal probiert sie auf einem anderen Weg zu erstellen? Benutze doch zum Beispiel die Druckfunktion deines Screenshot-Programs. Installiere dir vorher einen PostScript-Drucker am Anschluss FILE: und drucke deinen Screenshot in eine Datei. Bei den HP-PostScript-Druckern kannst du unter den erweiterten Einstellungen als Optimierungsart "Eingekapseltes PostScript" angeben. Dann als Deteiendung einfach .eps nehmen - fertig. Vielleicht klappt es ja über diesen Umweg...

andti

Boron
05-04-2005, 10:36
Ich glaube es nicht :eek:.
Ich kann es einfach nicht glauben :).

Die Option -dPDFSETTINGS=/prepress für gswin32c bewirkt tatächlich eine bessere Qualität für das Bild.
Jetzt kriselt es nur noch ganz leicht im Bild. Das ist aber fast nicht zu sehen. Damit kann ich sehr gut leben.

Der pdfwriter von GhostScript führt also tatsächlich eine Komprimierung der Bilder durch.
Mit der von andti genannten Option lässt sich wohl die Komprimerung beeinflussen.
Ich danke dir vielmals.Du hast mich gerettet http://www.handykult.de/plaudersmilies.de/party/yelclap.gif.

daswaldhorn
05-04-2005, 20:45
Zum Kompilieren kann ich pdflatex nicht nutzen, weil ich zusätzliche Pakete nutze, die damit nicht zurechtkommen.
Welche Pakete sind das denn? In meiner Projektarbeit hab ich auch *.jpg, *.png, *.pdf-files eingebaut und pdflatex macht keine Probleme. Hier kommt meine Präambel:
\documentclass[a4paper,12pt]{article}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{amssymb}
\usepackage[fleqn]{amsmath}
\usepackage{fancyhdr}
\usepackage{graphics}
\usepackage[dvips]{graphicx}
\usepackage{color}
\usepackage[hang,bf,centerlast]{caption2}
\usepackage{url}
\usepackage[bottom,ragged]{footmisc}
\usepackage{tabularx}
\usepackage{colortbl}
\usepackage{marvosym}
\usepackage[left=37mm,right=15mm,top=25mm,bottom=20mm,
headheight=15pt]{geometry}
\usepackage{pdfpages}
\usepackage[linktocpage,
colorlinks,
linkcolor=black,
citecolor=black,
urlcolor=black,
%pagebackref,
bookmarksnumbered,
pdfstartview=FitH,
pdfhighlight=/O,
pdfstartpage=01,
%draft,
]{hyperref}
\hypersetup{pdftitle ={Machbarkeitsstudie für ein BHKW...},
pdfsubject ={Projektarbeit},
pdfauthor ={Carsten Gerlach,...},
pdfkeywords={BHKW, EEG, KWK},
pdfcreator ={Kile 1.7.1},
pdfproducer={pdfLaTeX}
}Poste mal deine Version, vielleicht findet sich ja dort ein Hinweis...

Carsten

Boron
06-04-2005, 08:49
\documentclass[a4paper,12pt,bibtotoc,liststotoc]{scrreprt}
\usepackage{gastex} % für korrektes Setzten von H, H* und * in
% den inkludierten eps-Statechart Elementen
\usepackage{ngerman} % für neue Rechtschreibung und Trennung
\usepackage{mathptmx} % für Schrift mit Serifen
\usepackage[scaled=.90]{helvet} % für Schrift ohne Serifen
\usepackage{courier} % für Schrift mit konstanter Breite
\usepackage{textcomp} % zusätzliche Symbole
\usepackage[latin1]{inputenc} % für direkte Benutzung von Umlauten
\usepackage{graphicx} % für Bilder
\usepackage{tabularx} % für Zeilenumbruch in Tabellen
\usepackage{enumerate} % für individuelle "Aufzählungen"
\usepackage{vaucanson-g} % für Zeichnungen von Automaten
\usepackage[font=small,labelfont=bf,justification=raggedright]{caption} % für schönere Bildunterschriften
\usepackage{url}
\usepackage{float} % für Fließumgebungen; Platzierung H verschiebt nicht
\restylefloat{figure}
\restylefloat{table}

\usepackage{fancyhdr}

\usepackage[dvips]{hyperref} % für Links im Inhaltsverzeichnis und sonstige
% Kreuzverweise
Das ist meine Präambel.
Und das Paket, das Probleme mit pdflatex hat ist "vaucanson-g". Dieses ist sehr gut um "Endliche Automaten" zu zeichnen, wie sie in der Theoretischen Informatik benutzt werden.

Wenn ich mit pdflatex eine tex-Datei übersetzen lasse, dann kommen Fehler wie der Folgende:
! Undefine control sequence.
<recently read> \c@lor@to@ps
1.41 \psset@bordercolor{white}

edico
06-04-2005, 12:19
vaucanson-g lädt pstricks packages und kann doch gar nicht mit pdftex laufen - oder?
edico

Boron
06-04-2005, 12:55
Vollkommen korrekt!

Aber bevor wir uns da jetzt weiter die Gehirnwindungen verkrampfen:
Das Problem konnte bereits gelöst werden ;). Wie und warum steht weiter oben.
Ein Übersetzen mit pdflatex ist gar nicht notwendig.

edico
06-04-2005, 17:10
... Oh je, da hab ich nur den Rest und nicht das Thema gelesen!
Um aber die bisherige Diskussion zu toppen, will ich noch zwei Aspekte hinzufügen.
[1]
Zunächst hinsichtlich der genannten ps2pdf-Option -dPDFSETTINGS=/prepress handelt es sich um einen respektvollen Schlüssel, der bedauerlicherweise auch nicht immer funktioniert. Um weitere Verbesserungen zu erreichen, kann man versuchen, eine weitere Option hinzuzufügen: -dEncodeColorImages=false.
Damit sieht der compiling-Prozess so aus:
latex foo && dvips -Ppdf -G0 foo.dvi && ps2pdf -dPDFSETTINGS=/prepress -dEncodeColorImages=false foo.ps.
GS ist und bleibt aber weiterhin ein interessantes Experimentierfeld. Es gibt noch viiiiiele andere Optionen zum Ausprobieren und Testen ;-)
[2]
Ich mach mir das einfacher, weil ich mit vtex compiliere, das sowohl mit rasterfiles als auch mit vector graphics arbeiten kann.
edico

Boron
06-04-2005, 17:22
-dEncodeColorImages=false ist ja ein besonders spaßiger Parameter.
Wie vorgeschlagen den mal zusätzlich benutzt.
Das eingefügte Bild ist jetzt makellos. Gestochen scharf (so weit es halt ein Screenshot zulässt :)).

ABER:
Die Größe der pdf-Datei ist von ca. 700 KB auf ca. 9,2 MB angewachsen.
Reife Leistung "-dEncodeColorImages"! Applaus :D!

edico
06-04-2005, 17:38
Ja! Das stimmt. Habs vergessen zu schreiben. Sollte eigentlich schon -dPDFSETTINGS=/prepress passiert sein!? Zumindest wird darüber in der Literatur berichtet ... Aber was sind heute 9M, wenn die HD schon im GB liegen.
Ich habe nochmal eben in meinem sample nachgeschaut: ein Rundumschlag sehe so aus; ob der file kleiner wird, weiss ich nicht, bezweifel es aber.
ps2pdf -dMaxSubsetPct=100 -dCompatibilityLevel=1.3 \
-dSubsetFonts=true -dEmbedAllFonts=true \
-dAutoFilterColorImages=false \
-dAutoFilterGrayImages=false \
-dColorImageFilter=/FlateEncode \
-dGrayImageFilter=/FlateEncode \
-dMonoImageFilter=/FlateEncode mypaper.ps mypaper.pdf
Probieren geht machmal über Studieren ... ;-)
edico

Christoph
07-04-2005, 12:06
Aber was sind heute 9M, wenn die HD schon im GB liegen.

Am Rechner machen 9MB keine Probleme. Leider will man PS Dateien aber irgendwann drucken und da streicht mein Postscript Drucker (ein billieges Modell von HP) die Segel bei 9MB großen PS-Dateien.

Boron
07-04-2005, 12:52
Hihi, dann musst du in Häppchen ausdrucken :).
Seite 1-10, dann 11-20 usw.