Installer ImageMagick avec WAMPSERVER

L'installation d'ImageMagick avec WAMPSERVER pose de nombreux problèmes car nous sommes sur un environnement Windows contrairement à un Linux où les paquets installables possèdent des dépendances.

Note : à l'heure actuelle avec WampServer version 2.0i (php-5.3) la dll de php_imagick ne fonctionne pas car WampServer n'est pas encore compilé avec VC9
Pour la suite de l'installation, veuillez respecter l'ordre et utiliser des chemins d'installation sans majuscule ni espace.

Installer GhostScript

Ghostcsript est nécessaire à l'installation de ImageMagick pour les fonts.

Site Web : http://pages.cs.wisc.edu/~ghost/

Lien direct : gs864w32.exe



Lors de l'installation choisir comme chemin d'installation C:\gs

Installer ImageMagick

Télécharger le binaire d'ImageMagick ici : http://www.imagemagick.org/script/binary-releases.php.
Prendre ImageMagick-6.5.4-10-Q16-windows-dll.exe ou plus récent

Lors de l'installation choisir comme chemin d'installation C:\imagick

Installer le module PHP (dll sous windows)

Avant tout vérifier que vous avez la dll provenant de Visual Studio version 8.

Télécharger Microsoft Visual C++ 2008 Redistributable Package (x86)

Télécharger la dll sur ce site : http://valokuva.org/?page_id=50
Lien direct : php_imagick_dyn-Q16.dll

Copier la dll dans le répertoire des extensions php (C:\wamp\bin\php\php5.2.9-1\ext)

Ouvrir le php.ini et ajouter la ligne :

extension=php_imagick_dyn-Q16.dll 

Ouvrir le httpd.conf et ajouter la ligne :

SetEnv MAGICK_HOME "C:/imagick"

Tester l'installation

Vérifier le chargement du module dans phpinfo(). Puis valider le fonctionnement avec ce code

/* Création de quelques objets */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );
 
/* Nouvelle image */
$image->newImage(800, 75, $pixel);
 
/* Texte noir */
$pixel->setColor('black');
 
/* Propriétées du texte */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );
 
/* Création du texte */
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');
 
/* Format de l'image */
$image->setImageFormat('png');
 
/* Affichage de l'image avec les entêtes */
header('Content-type: image/png');
echo $image;