Existe uma maneira programática de Linux / Unix / Mac para obter as dimensões de um JPEG?

2
Inner Sanctum ~/mirror/images $ file wardrobe_square_90.gif
wardrobe_square_90.gif: GIF image data, version 89a, 90 x 90
Inner Sanctum ~/mirror/images $ file wardrobe_square_90.jpg
wardrobe_square_90.jpg: JPEG image data, JFIF standard 1.01
Inner Sanctum ~/mirror/images $ file wardrobe_square_90.png
wardrobe_square_90.png: PNG image data, 90 x 90, 8-bit/color RGB, interlaced

Chamar arquivo em alguns formatos obtém as dimensões das imagens, mas não o JPEG.

Eu vejo uma maneira de usar o ImageMagick para chamar convert para fazer um PNG a partir do JPEG ou algo assim, mas isso tem um cheiro suave de código.

Existe uma boa maneira de consultar as dimensões de um JPEG?

Obrigado,

    
por Jonathan Hayward 12.09.2013 / 13:10

2 respostas

3

O ImageMagick tem identify , que "descreve o formato e as características de um ou mais arquivos de imagem".

$ identify bild.jpg 
bild.jpg JPEG 480x640 480x640+0+0 8-bit DirectClass 57.2KiB 0.000u 0:00.000
    
por 12.09.2013 / 13:16
1

Como na maioria das coisas UNIX, existem várias maneiras de fazer a mesma coisa.

Os utilitários NetPBM fornecem um utilitário pnmfile que, quando combinado com djpeg , fornece dimensões de arquivo para arquivos JPEG:

% djpeg default_wallpaper.jpg | pnmfile -
-:      PPM raw, 1920 by 1280  maxval 255

djpeg pode ser encontrado em muitos pacotes JPEG, assim como os utilitários NetPBM. No Centos / RHEL, por exemplo, os pacotes estão disponíveis no repositório de base como: netpbm-progs e libjpeg-turbo

    
por 15.09.2013 / 22:29