"Ich möchte DPI mit Imagemagick ändern, ohne die tatsächliche Bytegröße der Bilddaten zu ändern."
Das ist völlig unmöglich!
Weil:
more "Dots per Inch"
<==> more pixels per area
<==> more total pixels per image
<==> more total bytes per image
Sie scheinen auch nicht zu verstehen, was DPI in Wirklichkeit ist:
- Es ist ein völlig abstrakter Wert, der nur dann einen praktischen Wert erhält, wenn man auch die absolute Größe des Ausdrucks oder Renderings auf dem Bildschirm oder Monitor kennt:
- Sie können dasselbe 72 x 72 Pixel große Bild auf ein 1 Zoll breites Quadrat 'drucken': Der Ausdruck hat eine Auflösung von
72dpi
.
- Sie können es auch auf ein 1/4-Zoll-Quadrat 'drucken': Der Ausdruck hat dann eine Auflösung von
288dpi
.
- ( Hinweis: Wenn Sie es
288dpi
auf einem 1-Zoll-Quadrat "drucken" , ist es nicht mehr dasselbe Bild: Es wurde durch den Druckertreiber oder einen anderen Filtermechanismus extrapoliert und ist stattdessen ein 288 x 288 Pixel großes Bild ein 72x72 Pixel großes Bild ... )
- Beide Ausdrucke enthalten die gleichen Bildinformationen - das 288-dpi-Bild enthält nicht plötzlich mehr.
Wenn Sie das Originalbild mit 72 x 72 Pixeln als 1 Zoll breites Quadrat drucken möchten, aber um 288dpi
, müssen Sie das Bild neu skalieren (in diesem Fall vergrößern). Für jedes Pixel im Original benötigen Sie 4 Pixel des neuen, hochskalierten Bildes. Nun gibt es verschiedene Algorithmen, mit denen berechnet werden kann, welche Farbwerte diese 4 Pixel (3 davon neue Pixel) haben sollten:
- Sie könnten sie das gleiche wie das ursprüngliche Pixel geben (was ein sehr "roher" Algorithmus ist,
- Oder Sie können den Farbwert des Originalpixels mit den Farbwerten der benachbarten Pixel mitteln.
In jedem Fall erstellen Sie ein größeres Bild, das aus 288 Pixelzeilen besteht, die jeweils 288 Pixel hoch sind (288 x 288 Pixel).
Was Gimp für Sie tut, wenn Sie "Bild -> Druckgröße" durchgehen: Es vereinfacht den Prozess der Neuberechnung der erforderlichen Änderungen der absoluten Pixelgrößen und macht es benutzerfreundlicher. Für diesen Zweck...
- ... fragt Sie zuerst nach der DPI, da ein bestimmter Drucker seine Druckauflösung nicht beliebig ändern kann (einige können nicht nur eine, sondern sogar 2 oder 3 verschiedene Auflösungen anbieten). Sie werden also gefragt, mit welcher Auflösung Sie drucken möchten. Das ist die erste Info.
- ... dann fragt es auch für das zweite Stück Info: bei welcher Größe (in
cm
, mm
oder inch
) der Ausdruck auf Papier erscheinen soll.
Nach diesen beiden Informationen berechnet Gimp dann die Gesamtzahl der Pixel, die es verwenden muss (aus der ursprünglichen Pixelzahl extrapolieren), um den angeforderten Platz mit der angeforderten Auflösung auszufüllen.
Wenn Sie jedoch ein Rasterbild vergrößern, indem Sie es mehr Pixel enthalten, werden keine echten Informationen hinzugefügt, und es wird nur eine fiktive Qualität hinzugefügt. Für das menschliche Auge mag es besser aussehen , wenn Ihr Scale-up-Algorithmus "gut" ist. Und es wird hässlich aussehen, wenn Sie vorhandene Pixel einfach verdoppeln, verdreifachen oder vervierfachen, wie dies bei einigen einfachen Algorithmen der Fall ist.
Bei Rasterbildern ist
die DPI-Einstellung nur beim Drucken oder Anzeigen relevant. Weil Drucker oder Monitore vorgegeben haben, feste Auflösungen. Deshalb ist es Info, dass nur ...
- ... einen Druckertreiber oder
- ... eine Bildverarbeitungsanwendung, die das Drucken unterstützt
muss wissen.
Und die Dokumentation von ImageMagick stimmt voll und ganz mit mir überein:
-density width
-density widthxheight
Legen Sie die horizontale und vertikale Auflösung eines Bildes für das Rendern auf Geräten fest.
Für Vektorgrafiken oder Dateiformate
(wie PDF oder PostScript) ist die DPI-Einstellung jedoch äußerst wichtig, um sie zu rastern . Ein höherer DPI-Wert überträgt mehr Bildinformationen in das Rasterformat und bewahrt so mehr Details von der tatsächlichen Originalqualität. Wenn Sie ein Vektorbild einer bestimmten Größe inoderin ein Raster mit einer höheren DPIkonvertierenmm
,wird dies direkt in eine höhere Anzahl von Gesamtpixeln im Bild umgesetzt.cm
inch
Außerdem unterstützt ImageMagick das Drucken als solches nicht. Stattdessen nur ImageMagick ...
- ... konvertiert Dateien aus einem bestimmten Rasterformat in andere Rasterformate;
- ... oder verkleinert oder vergrößert Rasterbilder;
- ... oder es ändert die Farbwerte nach einem bestimmten Algorithmus;
- ... oder es beschneidet Bilder, überlagert sie, kehrt sie um, spiegelt sie;
- ...und was nicht....
... aber um die manipulierten Bilder auszudrucken, müssen Sie ein anderes Programm verwenden.
Einige Bildformate (TIFF, PNG, ...) unterstützen das interne Speichern einer DPI-Einstellung in ihren Metadaten.
Dies ist jedoch nur ein Hinweis, der das zugrunde liegende Rasterbild nicht verändert. Das ist der Grund, warum Sie diese Entdeckung gemacht haben:
"Wenn ich die Datei überprüfe, bleibt sie gleich."
Dieser "Hinweis" kann möglicherweise automatisch von Druckertreibern oder Seitenerstellungsprogrammen wie LaTeX ausgewertet werden. Ohne solche DPI-Hinweise (oder wenn sie sich nicht so präsentieren, wie es LaTeX erwartet), sollte LaTeX in der Lage sein, ein bestimmtes Bild auf einer Seite so wiederzugeben, wie man es erwartet zu - es braucht nur etwas mehr expliziten LaTeX-Code um das Bild!
Einige andere Bildformate (JPEG (?), BMP, ...) unterstützen nicht einmal das Speichern eines DPI-Hinweises auf ihre internen Metadaten.
Daher unterstützt Gimp nur das, was Sie mit "Bild -> Druckgröße" sehen, da es ein Bild drucken möchte. Mit ImageMagick können Sie nicht drucken.
Machen Sie weiter mit Gimp, was Sie wollen, wenn Sie drucken. Bei ImageMagick ergibt das keinen Sinn.
Siehe auch dieses zusätzliche IM-Dokumentations-Snippet , in dem dasselbe Thema mit anderen Worten erklärt wird.
Was also bleibt, ist folgendes:
- Wenn Sie Ihr Bild mit Gimp "manipulieren" und das Ergebnis dann in LaTeX einbetten, sieht die Seite so aus, wie Sie es erwarten.
- Wenn Sie Ihr Bild mit ImageMagick "manipulieren" und das Ergebnis dann in LaTeX einbetten, sieht die Seite anders aus, als Sie es erwarten.
Bitte geben Sie Folgendes an, um das oben genannte Problem zu beheben:
- die genaue Version Ihrer ImageMagick-Installation (vollständige Ausgabe von
convert -version
und convert -list configure
);
- (ein Link zu einem) Original-Beispielbild;
- (ein Link zum) selben Bild, das von Gimp manipuliert wurde;
- (ein Link zum) selben Bild, das von ImageMagick manipuliert wurde.
Auf diese Weise können wir helfen, das Problem zu lösen.
Aber beachten Sie: Dies ist ein anderes Problem als das, was Ihr aktuelles Thema / Ihre Überschrift fragt: "Ich möchte DPI mit Imagemagick ändern, ohne die tatsächliche Bytegröße der Bilddaten zu ändern."
Aktualisieren
Da einigen Lesern immer noch nicht klar ist, was ich oben notiert habe, ist hier ein weiterer Versuch ...
Was in einer Bilddatei als "Auflösung" oder "Dichte" angegeben ist, ist ein Metadatenattribut . Sie hat keinen Einfluss auf die Anzahl der tatsächlich von der Datei beschriebenen Pixel und ist in dieser Hinsicht völlig irrelevant. Es handelt sich lediglich um einen Hinweis, dem ein Druck- oder Renderinggerät oder eine Anwendung beim Drucken, Rendern oder Anzeigen des Bildes folgen kann oder nicht .
Zu diesem Zweck sind nur einige wenige Nummern in der Bilddatei gespeichert. Diese Zahlen geben Auskunft über Ausgabegeräte wie Drucker und zeigen an, wie viele Punkte (oder Pixel) pro Zoll das Bild angezeigt werden soll. Bei Vektorformaten wie PostScript, PDF, MWF und SVG weist die Pixelskala an, alle vom Bild verwendeten Koordinaten der realen Welt zu zeichnen.
Ein Beispiel, bei dem der von ImageMagick in den Bildmetadaten festgestellte Auflösungswert von einer Anwendung NICHT berücksichtigt wird, ist Adobe Photoshop. Photoshop speichert seine Hinweise zu einer gewünschten Druck- oder Anzeigeauflösung in einem proprietären Profil mit dem Namen 8bim . ImageMagick berührt dieses Profil nicht, auch wenn Sie aufgefordert werden, eine Auflösungsänderung in die Metadaten einer Bilddatei zu schreiben. Photoshop hingegen ignoriert alle von ImageMagick in dem für diesen Zweck definierten Standard-Metadatenfeld gespeicherten Auflösungshinweise, sobald es sein eigenes 8bim- Profil sieht .
Das OP sollte die Überschrift gewählt haben:
- "Ich möchte mit ImageMagick die DPI (Metadaten-Auflösung) ändern, ohne die tatsächliche Anzahl der Pixel im Bild zu ändern."
um alle missverständnisse zu vermeiden ...
^
Symbol links von seiner Antwort), und sie nicht nur zu "akzeptieren", sobald Sie genug persönlichen Ruf haben (ich denke, Sie brauchen ihn) +15) ...