Ändern der DPI in einem JPEG ohne erneute Codierung? mit ImageMagick oder etwas anderem

1798
RocketNuts

Manchmal habe ich Bilddateien, die eine bestimmte DPI-Einstellung enthalten sollen. Beachten Sie, dass ich nur den DPI-Wert meine, dh nur den Wert in den Metadaten des Bildes. Ich möchte das eigentliche Bild nicht vergrößern. Eine höhere DPI würde zum Beispiel zu einer kleineren Größe in Zentimetern und der gleichen Anzahl von Pixeln führen.

Ich weiß, ich kann die DPI eines Bilds mit ImageMagick convertmit dem -densityParameter einstellen oder ändern, aber das Bild wird dadurch neu codiert. Ich möchte das vermeiden.

Gibt es eine Möglichkeit, mit ImageMagick oder etwas anderem (z. B. ExifTool oder etwas anderem) den DPI-Wert eines JPEGs explizit festzulegen, ohne den eigentlichen komprimierten Bildinhalt selbst zu ändern?

Beachten Sie, dass ich OS X verwende und dafür ein Befehlszeilentool suche (ich möchte es in Shell-Skripts verwenden).

0

1 Antwort auf die Frage

5
StarGeek

Sie können dies mit Exiftool tun .

Ihr Befehl wäre:
exiftool -XResolution=# -YResolution=# FileOrDir
Ändern Sie das Hash-Zeichen in die neue DPI-Nummer. Dieser Befehl erstellt Sicherungen für jede Datei, die Sie durch Hinzufügen vermeiden können -overwrite_original. Verwandte ist, -ResolutionUnitdie eingestellt werden können None, inchesoder cm.

Eine weitere Option ist: -jfif: Xresolution = 300 -jfif: Yresolution = 300 (vom Autor von ExifTool hier vorgeschlagen): http://u88.n24.queensu.ca/exiftool/forum/index.php?topic=2164.0) Ben-Uri vor 6 Jahren 0
für 600-dpi-PNG-Dateien: `exiftool -overwrite_original_in_place -PixelsPerUnitX = 23607 -PixelsPerUnitY = 23607 * .png` Matt Sephton vor 5 Jahren 0