web-dev-qa-db-fra.com

Redimensionner les images, conserver le rapport, avec des contraintes de taille

J'ai un tas d'images dans un dossier avec différentes dimensions et ratio.

Je veux les réduire tous en gardant une hauteur et une largeur minimales, tout en conservant le même rapport.

Quelque chose comme:
convert -resize -minwidth 300 -minheight 200 -keep-ratio src *.jpg

Ensuite, toutes les images réduites auront au moins 300 largeurs et 200 hauteurs, et elles conserveront le rapport d'origine.

Est-ce même possible sans quelques scripts lourds?

Choses que j'ai essayées:

➜  swazidowners mogrify -resize 300x200^ "*.jpg"
zsh: no matches found: 300x200^
➜  swazidowners mogrify -resize 300x200^ bbq.jpg
zsh: no matches found: 300x200^
➜  swazidowners mogrify -resize 300x200 bbq.jpg # just to show that it works without ^ character
➜  swazidowners 

Information système:
OS: Ubuntu 16.04x64

$ mogrify -version  
Version: ImageMagick 6.8.9-9 Q16 x86_64 2016-11-29 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules OpenMP
Delegates: bzlib cairo djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png rsvg tiff wmf x xml zlib
2
Adam Goldman
mogrify -resize '300x200^' *.jpg

assurez-vous de l'exécuter sur une copie de vos images à mesure qu'elles les remplacent.

5
Kees Beets