Pourquoi utiliser ImageMagick
ImageMagick est une bibliothéque qui permet d’effectuer du traitement d’image. Sous licence Apache 2.0, elle est disponible sur plusieurs langages (C/C++, PHP, …) via des interfaces adaptées.
Elle est aussi facilement manipulable via un script Bash, ce qui permet de faire du traitement par lot d’images.
Celle-ci est disponible au téléchargement sur le site officiel : http://www.imagemagick.org/script/index.php
Exemple d’utilisation : réduction d’image, rendu similaire à GIMP et Photoshop
Le but est d’obtenir un résultat similaire à GIMP ou Photoshop via ImageMagick dans la conversion d’images pour le web ou le mobile.
Pour obtenir ce résultat nous allons procéder à une suite de traitements :
– Réduction via un filtre Lanczos
– Profondeur 24 bits
– Niveau de compression à 95%
– Filtre permettant d’adoucir l’image
– Conversion au format PNG
Exemple de code :
#! /bin/bash
# script directory
scriptDirectory=$(dirname $0)
# get file list
originalFileList=`ls -1 $scriptDirectory/original/`
for originalFile in $originalFileList ; do
extension="${originalFile##*.}"
if test $extension == png || test $extension == gif || test $extension == jpeg || test $extension == jpg ; then
echo "Processing file : $originalFile"
resizeImage 128 $originalFile
fi
done
# resize image
function resizeImage(){
# test if directory original exists
if [ -d $scriptDirectory/$1/ ] ; then
echo "Format $1 directory exists : $scriptDirectory/$1"
else
echo "Creating format $1 director : $scriptDirectory/$1"
mkdir $scriptDirectory/$1
fi
# convert the file
convert $scriptDirectory/original/$2 -distort Resize $1x$1 -filter Lanczos -depth 24 -quality 95 -unsharp 0.5x0.5+0.5+0.008 $scriptDirectory/$1/${2%%.*}_$1.png
}