Если я экспортирую изображение, скажем, с разрешением 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