Dies ist keine Frage, sondern ein Versuch, mein Verständnis darüber zu verbessern, wie DPI in verschiedenen Dateiformaten gespeichert wird, und zu diskutieren, warum es funktioniert.
Ich arbeite viel mit Bildern (JPG, PNG und Tiff) und erkenne deren Auflösung.
Zum Beispiel kann ich dies auf einem Bild in Imagick ausführen:
$imagick = new Imagick($filename); $data = $imagick->identifyimage(); var_dump($data);
Es werden mir die Auflösung und die Einheiten angezeigt (Pixel pro Zentimeter oder Pixel pro Zoll)
Unter Windows (11) kann ich die Auflösung nur in den Eigenschaften des JPG sehen, nicht aber in den Eigenschaften des PNG. Unabhängig davon, ob Sie die PSD auf PixelsPerCentimeter oder PixelsPerInch einstellen, wird sie als (300 dpi) angezeigt.
In Imagick (Version: ImageMagick 6.9.11-60 Q16 x86_64) ist der Unterschied zwischen mit PixelsPerCentimeter gespeicherten JPGs und mit PixelsPerInch gespeicherten JPGs erkennbar. Aber für PNG gibt es PixelsPerCentimeter, egal wie ich es in Photoshop erstelle/speichere.
Photoshop (24.1.0) kann PixelsPerCentimeter auch auf JPGs erkennen – aber PNGs „sagen“ alle, dass sie PixelsPerInch sind, selbst wenn ich sie als PixelsPerCentimeter speichere.
Jetzt verstehe ich vollkommen, dass 118,11 Pixel pro Zentimeter = 300 Pixel pro Zoll sind, aber ich bin wirklich daran interessiert, warum Windows/Photoshop und Imagick sie so behandeln?
Ich war davon überzeugt, dass das Erstellen der Datei in Photoshop zunächst Nebenwirkungen haben könnte, also habe ich eine Datei mit Imagick erstellt (PNG, 300 dpi, Pixel pro Zoll), aber Imagick hat sie mit 118 Pixel pro Zentimeter angegeben.
Meine Frage lautet also wohl: Hängen diese Unterschiede davon ab, wie die Datei gelesen wird oder von den tatsächlichen Metadaten, die im Dateityp gespeichert sind?
这不是一个权威、完整的答案 - 更像是一个“提示”,因为没有人回答您。
这有点像雷区,不同的软件有不同的长度。如果您想进一步研究它,
exiftool
及其-v
选项通常是最有帮助的。关于 PNG 图像
原始 PNG 规范有一个
pHYs
块,仅给出以米为单位的水平和垂直分辨率,英寸不可用。 此处描述了各种 PNG 标签。某些软件(ImageMagick 和
exiftool
)将(JPEG 样式)APP1 数据(见下文)非正式地存储在zTXt
块中。有些没有。2017 年 7 月,PNG 规范更新为允许
eXIf
块。请参阅此处。关于 JPEG 图像
在 JPEG 中,x/y 分辨率可能存储在 APP0、APP1 或 APP13 (Photoshop) 段中。我所知道的最好的描述是这里。
我从来没有对 XMP 数据那么感兴趣,但我相信 x/y 分辨率也可能存储在那里。