ImageMagick est une suite d’utilitaires de ligne de commande pour modifier et travailler avec des images. ImageMagick peut effectuer rapidement des opérations sur une image à partir d’un terminal, effectuer un traitement par lots de nombreuses images ou être intégré dans un script bash.
ImageMagick peut effectuer une grande variété d’opérations. Ce guide vous présentera la syntaxe et les opérations de base d’ImageMagick et vous montrera comment combiner les opérations et effectuer le traitement par lots de nombreuses images.
Installation
ImageMagick n’est pas inclus dans les installations par défaut d’Ubuntu et de nombreuses autres distributions Linux. Pour l’installer sur Ubuntu, utilisez la commande suivante:
sudo apt-get install imagemagick
Conversion entre les formats
La commande de conversion prend une image, effectue des actions dessus et enregistre l’image avec le nom de fichier que vous spécifiez. L’une des choses les plus élémentaires que vous puissiez en faire est de convertir les images entre les formats. La commande suivante prend un fichier PNG nommé «howtogeek.png» dans le répertoire courant et crée une image JPEG à partir de celui-ci:
convert howtogeek.png howtogeek.jpg
Vous pouvez également spécifier un niveau de compression pour les images JPEG:
convert howtogeek.png -quality 95 howtogeek.jpg
Le nombre doit être compris entre 1 et 100. ImageMagick utilise le niveau de qualité de l’image d’entrée, si possible. Sinon, ImageMagick prend par défaut 92.
Redimensionner les images
La commande de conversion peut également redimensionner rapidement une image. La commande suivante demande à ImageMagick de redimensionner une image à 200 pixels de largeur et 100 pixels de hauteur:
convert example.png -resize 200x100 example.png
Nous avons utilisé le même nom de fichier ici, donc ImageMagick écrasera le fichier d’origine.
ImageMagick essaiera de conserver le rapport hauteur / largeur si vous utilisez cette commande. Cela modifiera l’image pour qu’elle tienne dans une zone de 200 × 100, mais l’image peut ne pas être exactement 200 × 100. Si vous voulez forcer l’image à prendre une taille spécifique – même si cela gâche le rapport hauteur / largeur – ajoutez un point d’exclamation aux dimensions:
convert example.png -resize 200x100! example.png
Vous pouvez également spécifier une largeur ou une hauteur spécifique et ImageMagick redimensionnera l’image à cette largeur ou hauteur tout en préservant le rapport hauteur / largeur. La commande suivante redimensionnera une image à une largeur de 200:
convert example.png -resize 200 example.png
La commande suivante redimensionnera une image à une hauteur de 100:
convert example.png -resize x100 example.png
Rotation d’une image
ImageMagick peut faire pivoter rapidement une image. La commande suivante prend une image nommée howtogeek.jpg, la fait pivoter de 90 degrés et enregistre l’image pivotée sous le nom howtogeek-rotated.jpg:
convert howtogeek.jpg -rotate 90 howtogeek-rotated.jpg
Si vous spécifiez le même nom de fichier, ImageMagick enregistre l’image pivotée sur le fichier image d’origine.
Appliquer des effets
ImageMagick peut appliquer une variété d’effets à une image. Par exemple, la commande suivante applique l’effet «charbon» à une image:
convert howtogeek.jpg -charcoal 2 howtogeek-charcoal.jpg
La commande charbon applique un effet de style artistique «fusain» à une image – le 2 de la commande vous permet de contrôler la force de l’effet.
La commande suivante applique l’effet «Imploser» avec une force de 1:
convert howtogeek.jpg -implode 1 howtogeek-imploded.jpg
L’effet d’implosion donne l’impression qu’il y a un trou noir au centre de l’image.
Combinaison d’opérations
Toutes ces opérations peuvent être combinées. Avec une seule commande, vous pouvez redimensionner une image, la faire pivoter, appliquer un effet et la convertir dans un autre format:
convert howtogeek.png -resize 400x400 -rotate 180 -charcoal 4 -quality 95 howtogeek.jpg
Ce n’est que le début de ce que vous pouvez faire avec ImageMagick. Il existe de nombreuses autres opérations que vous pouvez combiner.
Le traitement par lots
Vous pouvez profiter de Bash pour effectuer rapidement le traitement par lots de nombreuses images. Par exemple, la commande suivante prendrait tous les fichiers PNG dans le répertoire courant, les ferait pivoter et enregistrerait une nouvelle copie de chacun avec «rotation-» ajouté au début de chaque nom de fichier.
for file in *.png; do convert $file -rotate 90 rotated-$file; done
Vous pouvez facilement modifier cette commande pour effectuer d’autres actions. Vous pouvez également intégrer des commandes de traitement par lots dans un script shell Bash pour automatiser les opérations de traitement d’image.
Tout article sur ImageMagick omettra une grande partie de ce que vous pouvez en faire – il y a tout simplement trop d’options et de commandes. Si vous souhaitez en faire plus avec ImageMagick, consultez le site officiel documentation sur le site Web ImageMagick pour un regard beaucoup plus approfondi sur ImageMagick.