如何使用ImageMagick查找每英寸像素数(PPI)

时间:2013-01-31 18:04:56

标签: imagemagick png image-manipulation

我可以使用以下命令获取JPEG图像的PPI:

$ identify -format "%w x %h %x x %y" mypic.jpg 
1600 x 1200 72 PixelsPerInch x 72 PixelsPerInch

但是,当我在PNG格式上运行相同的命令时,我得到每厘米像素数:

$ identify -format "%w x %h %x x %y" mypic.png 
1600 x 1200 28.35 PixelsPerCentimeter x 28.35 PixelsPerCentimeter

是否有办法更改命令以获得PNG格式的每英寸像素数(PPI),或者根据每厘米像素计算PPI?

4 个答案:

答案 0 :(得分:6)

您只需添加选项

即可
-units PixelsPerInch

答案 1 :(得分:2)

使用的分辨率和单位存储在文件中,因此如果分辨率存储在PixelsPerCentimeter中,那么identify将显示它。没有办法通过identify自动进行转化。但它只是厘米到英寸的转换数学:

PixelsPerInch = PixelsPerCentimeter * 2.54

答案 2 :(得分:1)

您可以在fx的输出中使用identify运算符和一些智能格式,如下所示:

identify -format "%[fx:int(resolution.x*2.54)]" image.png
299

当然,真正令人高兴的是它与平台无关,所以你不必在OS X和Linux上发送dc,或者在Windows上执行任何muppetry做数学。

答案 3 :(得分:0)

1英寸= ~2.54厘米。因此,在两者之间进行转换是微不足道的。