Как узнать DPI файла изображения (PNG)

Как узнать DPI файла изображения (PNG)

Если я экспортирую изображение, скажем, с разрешением 300 точек на дюйм и считываю его метаданные с помощью любого приложения, которое может это сделать (например file, exiftool, identify, mediainfoи т. д.), я всегда получаю значение, показывающее ширину и высоту изображения.

В этом случае:2254 x 288

как получить значение 300 DPI или соответствующее значение из любого другого файла изображения?

Поскольку в моем случае пропорциональные значения ширины и высоты изображения не имеют значения, я хочу иметь возможность проверять разрешение любого изображения, чтобы иметь возможность компилировать новые изображения с тем же качеством независимо от их пропорций, поскольку они различаются для каждого файла.

Для моего рабочего процесса меня особенно интересуют любые решения на основе командной строки, хотя любые другие, конечно, также будут высоко оценены.

решение1

Вы можете использовать identifyиз imagemagick:

identify -format '%x,%y\n' image.png

Однако обратите внимание, что в этом случае ( PNGизображение) identifyвернет разрешение в PPCM(пикселях на сантиметр), поэтому для получения PPI(пикселей на дюйм) вам необходимо добавить -units PixelsPerInchк вашей команде (например, вы также можете использовать fxоператор для округления значения до целого числа):

identify -units PixelsPerInch -format '%[fx:int(resolution.x)]\n' image.png

Есть также exiftool:

exiftool -p '$XResolution,$YResolution' image.png

хотя предполагается, что файл изображенияопределены ли эти теги.


решение2

откройте его с помощью "gimp" и нажмите [изображение] -> [свойства изображения]

решение3

Имена тегов exiftoolдля PNG см.man-страница

Пример использования

$ exiftool -p "$PixelsPerUnitX,$PixelsPerUnitY,$PixelUnits" image.png  
11811,11811,meters 

Связанный контент