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