J'ai plus de 1000 images dans différentes résolutions (par exemple 1234x2122, 4400x5212, etc.) et je veux les convertir toutes en format 100x100 fixe.
je dois d'abord redimensionner les images en conservant les proportions, et obtenir 100xA ou Ax100, où A> 100 (cela dépend de la largeur et de la hauteur de l'image, pour certaines images largeur> hauteur et pour certaines images hauteur> largeur).
Recadrer cette image à 100x100 du centre
Existe-t-il une simple commande de conversion que je peux utiliser pour toutes mes images?
Vous utiliseriez area-fill (^
) modificateur de géométrie sur le -resize
opération pour unifier l'échelle descendante. Pour recadrer le centre, -extent
avec -gravity Center
fonctionnera.
convert input.jpg -resize 100x100^ \
-gravity Center \
-extent 100x100 \
output.jpg
Mise à jour
Comme Mark Setchell l'a souligné dans les commentaires, l'utilitaire mogrify
peut être utilisé pour convertir des éléments par lots.
mogrify -path ./path/to/write/results/ \
-resize 100x100^ \
-gravity Center \
-extent 100x100 \
./path/to/source/files/*
Rappel: Mogrify écrasera le fichier d'origine avec les images résultantes, sauf si vous définissez le
-path
paramètre.