Cómo obtener el DPI de un archivo de imagen (PNG)

Cómo obtener el DPI de un archivo de imagen (PNG)

Si exporto una imagen con, digamos , 300 DPI y leo su metainformación con cualquier aplicación que pueda hacerlo (como file,,, etc. ), siempre obtengo un valor que muestra el ancho de la imagen y el alto de la imagen.exiftoolidentifymediainfo

En este caso:2254 x 288

¿Cómo obtengo el valor de 300 DPI o el valor correspondiente de cualquier otro archivo de imagen?

Como en mi caso el valor proporcional de Image-Width y Image-Height no importa, quiero poder verificar la resolución de cualquier imagen para poder compilar nuevas imágenes con la misma calidad independientemente de su proporción, ya que esta varía según cada archivo.

Para mi flujo de trabajo, estoy especialmente interesado en cualquier solución de línea de comandos, aunque, por supuesto, cualquier otra también es muy apreciada.

Respuesta1

Podrías usar identifydesde imagemagick:

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

Sin embargo, tenga en cuenta que en este caso (una PNGimagen) identifydevolverá la resolución en PPCM(píxeles por centímetro), por lo que para obtener PPI(píxeles por pulgada) debe agregarla -units PixelsPerIncha su comando (por ejemplo, también puede usar el fxoperador para redondear el valor a un número entero):

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

También hay exiftool:

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

aunque asume el archivo de imagentiene esas etiquetas definidas.


Respuesta2

ábrelo con "the gimp" y haz clic en [imagen] -> [propiedades de imagen]

Respuesta3

Para exiftoolnombres de etiquetas para PNG consultela página de manual

Ejemplo de uso

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

información relacionada