Voici quelques petites lignes de commande qui vont vous permettre de retailler une image ou un lot d'images avec GraphicsMagick sous linux.
Installation de GraphicsMagick
Avant de commencer il faut bien entendu installer GraphicsMagick. Sous debian ou ubuntu il suffit d'installer le paquet graphicsmagick :
root@home:~# aptitude install graphicsmagick
Redimensionner une image
Voici la ligne de commande que j'utilise le plus, elle permet de retailler l'image en 640 de large (le ratio auteur largeur est conservé) uniquement si l'image fait plus de 640 pixels de large (le >)
root@home:~# gm mogrify +profile "*" -resize '640>' monimage.jpg
L'option +profile "*" est un petit bonus qui permet de supprimer les métadonnées de l'image (Exif ...).
GraphicsMagick propose une option équivalente à resize mais qui utilise un algorithme plus rapide, c'est l'option thumbnail qui permet la création de miniature. La ligne de commande devient :
root@home:~# gm mogrify +profile "*" -thumbnail '640>' monimage.jpg
Redimensionner un lot d'image
Habituellement j'utilise xargs et find pour traiter des fichiers par lots (cf : Optimiser de jpeg) mais dans le cas du redimensionnement d'images, je me suis aperçu que j'avais des doubles traitements. Qu'à cela ne tienne, je me suis rappelé que find avait une option exec qui permet de lancer une commande sur les fichiers trouvés.
Assez de blah blah voici donc la commande qui permet de retailler un lot d'image :
root@home:~# find /chemin/vers/mon/lot/images/ -type f -name '*.jpg' -exec gm mogrify -resize '640>' {} \;
Pour ceux qui les auraient manqués voici quelques articles que j'ai publié sur le traitement d'image en ligne de commande :
- Optimiser des images avec jpegoptim
- Optimiser des png avec pngcrush
- Ajouter une watermark sur une image
Image : mag3737