5

我可以使用以下命令获取 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

4 回答 4

10

您可以简单地添加选项

-units PixelsPerInch
于 2015-04-12T18:10:11.567 回答
1

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

PixelsPerInch = PixelsPerCentimeter * 2.54
于 2013-01-31T18:08:10.553 回答
1

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

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

Of course, the true joy of this is that it is platform-independent, so you don't have to shell out to dc on OS X and Linux, or do whatever muppetry is required on Windows to do the maths.

于 2015-04-13T08:03:03.583 回答
0

1 英寸 =~ 2.54 厘米。所以在两者之间转换是微不足道的。

于 2013-01-31T18:08:46.650 回答