I can get PPI for a JPEG image using the following command:
$ identify -format \"%w x %h %x x %y\" mypic.jpg
1600 x 1200 72 PixelsPerInch x 72 PixelsPerInch
The resolution and units used are stored in the file, so if the resolution is stored in PixelsPerCentimeter, that's how identify
will display it. There isn't a way to do the conversion automatically through identify
. But it's just cm to inch conversion math:
PixelsPerInch = PixelsPerCentimeter * 2.54
1 inch =~ 2.54 cm. So it is trivial to convert between the two.
You can use the fx
operator and some smart formatting in the output of identify
like this:
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.
You can simply add the option
-units PixelsPerInch