web-dev-qa-db-fra.com

Redimensionner les images à une hauteur spécifique dans ImageMagick?

J'ai regardé autour de moi et je ne trouve pas de solution facile à mettre en œuvre.

Actuellement, je travaille sur une application qui traite des panoramas. À la sortie du processus de couture par lots, les dimensions moyennes sont de 18 000 x 4000. À l'aide d'ImageMagick, comment puis-je réduire la taille de ces images à une hauteur spécifique tout en conservant les proportions?

Selon le manuel, l'opération convert nécessite de redimensionner la hauteur et la largeur tout en conservant le même rapport d'aspect. Ce que j'aimerais, c’est d’insérer 600 et 1000 dans ma fonction de script de redimensionnement existante et d’avoir à la fois une image visible et une taille réduite.

27
Jason

Selon la documentation de ImageMagick Je suggère d'utiliser -geometry x600, alors que x600 signifie que la nouvelle image a une hauteur de 600 px avec le même rapport de format comme l'ancienne image.


Pour une image unique , vous pouvez exécuter:

convert input.png -geometry x600 output.png

Si vous préférez convertir toutes les images d'un dossier en une seule fois, passez à celui-ci (c'est-à-dire cd ~/Pictures/panoramas/) et utilisez

mogrify -geometry x600 *.png

Mais faites attention à cela, car il écrase les fichiers d’image originaux . Pour éviter cela, tu pourrais

  1. créer un nouveau dossier (mkdir ~/Pictures/panoramas/small)
  2. copier les images dans ce dossier (cp ~/Pictures/panoramas/*.png ~/Pictures/panoramas/small) et
  3. éditez les images dans ce nouveau dossier (cd ~/Pictures/panoramas/small && mogrify -geometry x600 *.png).
36
Jakob

pour redimensionner tous les fichiers d’un dossier, vous pouvez utiliser quelque chose comme

mogrify -Taille 800x1094! * jpg # conserve le format de l'image

--- changer la taille et l'extension comme il convient

1
user47206