4 votes

Comment détecter les dimensions des images et exécuter des commandes sur celles-ci ?

J'ai un répertoire rempli d'images, dont certaines sont de taille portrait au lieu de taille paysage, et je veux ouvrir les images de taille portrait avec un éditeur d'images. Je peux lancer la commande imagemagick identify et j'obtiens un résultat comme something.jpg JPEG 1920x1255 1920x1255+0+0 8-bit DirectClass 159KB 0.000u 0:00.000 . Comment puis-je faire en sorte qu'un script interprète cette sortie, c'est-à-dire qu'il décide ce qui est le plus important, la 1920 ou le 1255 et exécuter une commande si c'est le cas ?

9voto

Clyde Points 3881

Une combinaison de identify y bc semble faire l'affaire :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X