Como detectar dimensões da imagem e executar comandos nelas?

4

Eu tenho um diretório cheio de imagens, algumas das quais são em tamanho de retrato em vez de em tamanho de paisagem, e quero abrir as de tamanho retrato com um editor de imagens. Eu posso executar o comando imagemagick identify e recebo uma saída como something.jpg JPEG 1920x1255 1920x1255+0+0 8-bit DirectClass 159KB 0.000u 0:00.000 . Como posso ter um script para interpretar essa saída, ou seja, decidir qual é maior, o 1920 ou o 1255 e, em seguida, executar um comando sobre ele, se for?

    
por Jon 23.11.2012 / 22:59

1 resposta

9

Uma combinação de identify e bc parece fazer o truque:

if [ $(identify -ping -format '%W/%H>1' filename.jpg | bc -l) -eq 1 ]; then
    echo "Landscape"
else
    echo "Portrait"
fi
    
por Dennis Kaarsemaker 23.11.2012 / 23:12