Cet article est une courte une introdution à l'utilisation d'ImageMagick en ligne de commande. Cette série d'outils permet de traiter des images automatiquement (recadrage, ajout d'éléments, de texte, etc. ), depuis un terminal en ligne de commande. Si vous n'êtes pas familier jetez un oeil sur http://fr.wikipedia.org/wiki/Ligne_de_commande . Je recommande utilisation d'un Unix libre (Linux, *BSD, etc), imagemagick se trouve généralement dans les distributions et peut être installé facilement à l'aide du gestionnaire de paquetage.
Une des utilisations les plus courantes est la conversion d'un format à l'autre. La commande 'convert' convertit d'un format à l'autre en reconnaissant les extensions des fichiers, le premier argument étant le fichier source et le dernier le fichier destination. On peut placer diverses options entre deux pour régler par exemple la qualité ou appliquer un traitement. Quelques exemples illustrant les options que j'utilise le plus couramment:
Exemple 1: conversion de png en jpeg de qualité 95 (sur 100).
convert foo.png -quality 95 bar.jpg
Exemple 2: redimensionner une image
convert foo.jpg -resize 800 bar.jpg
De manière générale un rédimensionnement entraîne un léger flou, qui peut être compenser par exemple avec un -unsharp.
Il est aussi possible d'ajouter des éléments à une image, tels un cadre ou du texte. Les options "-bordercolor" et "-border" permettent de définir respectivement la couleur et l'épaisseur du cadre.
Exemple 3: ajouter un cadre (noir de 20 pixels d'épaisseur)
convert foo.jpg -bordercolor black -border 20x20 bar.jpg
Il est également possible d'ajouter du texte, par exemple pour ajouter une signature, -color permet de définir la couleur, -fontsize la taille du texte. -gravity définit le placement center pour centré ou north, northeast, east, southeast, etc. pour un placement sur un bord. Il est possible de modifier la police aussi avec -font. Comme dernier exemple je donne la commande que j'utilise sur mes photos avant de les mettre en ligne:
Exemple 4: Redimensionnement, netteté, cadres noir et gris et signature.
convert foo.jpg -resize 750x750 -unsharp 0.2 \
-quality 95 -bordercolor gray -border 1x1 \
-bordercolor "#111111" -border 0x18 \
-gravity southeast -fill gray \
-annotate 0 'Nom Prénom' \
-border 24x6 bar.jpg
Ce qui est très pratique avec ce traitement en ligne de commande c'est la facilité de traiter des images dans une boucle shell, mais cela sort déjà du cadre de cet article. Pour en savoir plus, consulter le site d'ImageMagick: www.imagemagick.org.