Como obter o DPI de um arquivo de imagem (PNG)

Como obter o DPI de um arquivo de imagem (PNG)

Se eu exportar uma imagem com, digamos, 300 DPI e ler suas meta-informações com qualquer aplicativo que possa fazer isso (como file, exiftool, identify, mediainfoetc.), sempre obtenho um valor mostrando Image-Width e Image-Height.

Nesse caso:2254 x 288

como obtenho o valor de 300 DPI ou o valor correspondente de qualquer outro arquivo de imagem?

Como no meu caso o valor proporcional de Image-Width e Image-Height não importa quero poder verificar a resolução de qualquer imagem para poder compilar novas imagens com a mesma qualidade independente de sua proporção, já que esta varia de acordo com cada arquivo.

Para o meu fluxo de trabalho, estou especialmente interessado em qualquer solução de linha de comando, embora quaisquer outras também sejam muito apreciadas.

Responder1

Você poderia usar identifyde imagemagick:

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

Observe, entretanto, que neste caso (uma PNGimagem) identifyretornará a resolução em PPCM(pixels por centímetro), então para obter PPI(pixels por polegada) você precisa adicionar -units PixelsPerInchao seu comando (por exemplo, você também pode usar o fxoperador para arredondar o valor para inteiro):

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

Há também exiftool:

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

embora assuma o arquivo de imagemtem essas tags definidas.


Responder2

abra-o com "the gimp" e clique em [imagem] -> [propriedades da imagem]

Responder3

Para exiftoolnomes de tags para PNG, consultea página de manual

Exemplo de uso

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

informação relacionada