5.0 KiB
1. Présentation générale
ImageMagick est une suite d’outils en ligne de commande permettant de créer, convertir, modifier et analyser des images. Il supporte plus de 200 formats (JPEG, PNG, WebP, TIFF, PDF, SVG, HEIC, etc.) et fonctionne sans interface graphique, ce qui le rend idéal pour :
- les serveurs,
- les scripts automatisés,
- les pipelines CI/CD,
- les traitements en masse,
- les environnements sans interface graphique (SSH, Docker, etc.).
Depuis la version 7, la commande principale est magick, qui remplace progressivement les anciennes commandes (convert, identify, mogrify, etc.).
2. Installation
Sous Debian / Ubuntu :
sudo apt install imagemagick
Vérification :
magick -version
3. Principe fondamental de fonctionnement
ImageMagick fonctionne selon une logique simple :
magick [entrée] [options] [sortie]
Chaque option modifie l’image en mémoire, dans l’ordre où elle est écrite.
Exemple :
magick input.jpg -resize 800x600 -quality 85 output.jpg
➡️ L’image est chargée → redimensionnée → compressée → enregistrée.
4. Conversion de format
Conversion simple
magick image.png image.jpg
Cela convertit automatiquement le format selon l’extension du fichier de sortie.
Conversion avec changement de profondeur de couleur
magick image.png -depth 8 image.jpg
Utile pour réduire la taille ou assurer une compatibilité.
5. Redimensionnement des images
Redimensionnement simple
magick image.jpg -resize 800x600 image_resized.jpg
⚠️ Cela force exactement ces dimensions, quitte à déformer l’image.
Conserver les proportions (recommandé)
magick image.jpg -resize 800x600\> image_resized.jpg
Le > signifie :
Ne redimensionner que si l’image dépasse ces dimensions.
Redimensionnement par pourcentage
magick image.jpg -resize 50% image_small.jpg
6. Qualité et compression
Réduire la taille du fichier JPEG
magick image.jpg -quality 85 image.jpg
- 100 : qualité maximale
- 80–85 : bon compromis web
- <70 : perte visible
Suppression des métadonnées (EXIF, GPS, etc.)
magick image.jpg -strip image.jpg
Très utile pour :
- anonymisation
- gain de place
- conformité RGPD
7. Redimensionnement intelligent (crop & resize)
Recadrer une image
magick image.jpg -crop 800x600+100+50 output.jpg
Format :
largeur x hauteur + décalage_x + décalage_y
Remplir un cadre sans déformation
magick image.jpg -resize 800x600^ -gravity center -extent 800x600 output.jpg
Cela :
- redimensionne en conservant les proportions
- coupe l’excédent centré
Très utilisé pour les miniatures.
8. Traitement par lot
Conversion de tous les fichiers d’un dossier
for f in *.jpg; do
magick "$f" "${f%.jpg}.png"
done
Redimensionnement massif (avec écrasement)
mogrify -resize 1600x1600\> *.jpg
⚠️ mogrify modifie les fichiers originaux.
9. Ajout de texte et filigranes
Ajouter un texte
magick image.jpg \
-gravity southeast \
-pointsize 24 \
-fill white \
-annotate +10+10 "© MonSite" \
image_marked.jpg
Ajouter un watermark (image)
magick image.jpg watermark.png -gravity center -composite output.jpg
10. Gestion des couleurs
Convertir en niveaux de gris
magick image.jpg -colorspace Gray output.jpg
Ajuster luminosité / contraste
magick image.jpg -brightness-contrast 10x5 output.jpg
11. Informations sur une image
Détails complets
magick identify image.jpg
Informations étendues
magick identify -verbose image.jpg
12. Formats modernes
Conversion vers WebP
magick image.jpg -quality 80 image.webp
Conversion vers AVIF
magick image.jpg image.avif
13. Bonnes pratiques
- Toujours tester sur une copie
- Éviter
mogrifysans sauvegarde - Utiliser
-strippour le web - Privilégier
libvipspour très gros volumes - Automatiser via scripts Bash
14. Cas d’usage typiques
- Préparation d’images pour un site web
- Génération de miniatures
- Normalisation d’un catalogue photo
- Conversion massive pour archivage
- Nettoyage de métadonnées avant publication
ImageMagick est un outil extrêmement puissant, capable de remplacer de nombreux logiciels graphiques lorsqu’on maîtrise sa syntaxe. Il s’intègre parfaitement dans des scripts, des serveurs et des chaînes de traitement automatisées.
Pour un usage professionnel ou intensif, c’est un outil incontournable sous Linux.