我有一个PNG
我保存为 300DPI
当我使用iMagick
它时,它返回为 118.11 DPIgetImageResolution()
有什么想法我可能做错了吗?
谢谢
我有一个PNG
我保存为 300DPI
当我使用iMagick
它时,它返回为 118.11 DPIgetImageResolution()
有什么想法我可能做错了吗?
谢谢
首先,118.11 正是 300 / 2.54 的结果。由于 1 英寸 = 2.54 厘米,iMagick 似乎报告每厘米点数而不是每英寸点数。因此,您只需将 iMagic 给您的数字乘以 2.54 即可获得原始 DPI。
然而,一般来说,数字光栅图像上的 DPI 没有多大意义,因为它们没有可以以英寸或厘米为单位测量的物理尺寸。当然,您可以在大多数图像格式上设置这些尺寸,并且可能在打印时使用它们,但对于其他任何目的,此信息不会以任何方式影响图像。特别是在电脑屏幕上显示时,设置 DPI 不会有任何效果。
使用PNG 文件时,您的 Imagick 版本返回每厘米 PPC 像素,而不是每英寸点数 DPI(每英寸像素数 PPI)。但你正在寻找后者。
另请参阅如何使用 ImageMagick 查找每英寸像素 (PPI),其中概述了以下公式来转换这些值:
const INCH_PER_CENTIMETER = 2.54;
$ppi = (int) round($ppcm * INCH_PER_CENTIMETER);