web-dev-qa-db-fra.com

Imagemagick - Redimensionner les images à une hauteur de 25 pixels et un rapport hauteur / largeur

OK, j'ai donc un dossier de 16 images comme toutes entre les dimensions de 205x150 à 103x148. Je veux les redimensionner à la hauteur et à la largeur des pixels de 25 pixels et les empiler horizontalement sur un fond transparent ... est-ce possible?

Je devrais probablement utiliser ImageMagick pour cela ...

36
test

Vous pouvez faire tout cela avec ImageMagick.

Votre question n'est pas très spécifique, alors voici une feuille de triche rapide d'exemples de commandes qui peuvent vous aider:

# resize image to width 25, keeping aspect ratio
convert -geometry 25x src/image1.png out/image1.png

# resize image to height 25, keeping aspect ratio
convert -geometry x25 src/image1.png out/image1.png

# concatenate images horizontally
convert +append src/image1.png src/image2.png out/image12horiz.png

# concatenate images vertically
convert -append src/image1.png src/image2.png out/image12vert.png

De plus, la commande montage est probablement parfaite pour créer l'image finale que vous recherchez (sur un bg transparent avec du rembourrage, etc.), mais je ne me souviens pas de la syntaxe.

Une autre commande utile est identify, pour trouver les dimensions des images (ainsi que d'autres détails).

Après avoir installé ImageMagick, vous pouvez voir la liste des commandes dans man ImageMagick, et obtenez plus de détails sur chaque commande dans les pages de manuel. Il y a énormément de fonctions, mais il ne devrait pas être trop difficile de comprendre le reste sur Google. (Je fais ça tout le temps.)

72
janos

Juste pour ajouter quelque chose à la réponse @janos. Je n'ai pas utilisé les versions précédentes d'ImageMagick mais sur la version v6 ou ultérieure selon les documents http://www.imagemagick.org/Usage/resize/#geometry

La géométrie est une option très spéciale. L'opérateur se comporte légèrement différemment dans chaque commande de messagerie instantanée, et souvent de manière spéciale et magique. Les raisons à cela sont principalement dues à une utilisation ancienne et doivent être évitées si possible.

Donc, à part le -geometry paramètre que vous pouvez toujours utiliser -resize et omettez la valeur souhaitée afin de conserver le rapport hauteur/largeur. Vous pouvez également utiliser le -quality paramètre pour éviter une dégradation de la qualité de l'image lors du redimensionnement. La valeur de la qualité est comprise entre 1 (qualité d'image la plus basse et compression la plus élevée) et 100 (meilleure qualité mais compression la moins efficace). Vous pouvez en savoir plus ici: https://imagemagick.org/script/command-line-options.php#quality

Par exemple:

# resize image to height 25, keeping aspect ratio with quality 90
convert -resize x25 original_image.jpeg -quality 90 resized_image.jpeg
3
vkvkvk