<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/imagick.examples.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'imagick.examples-1.php',
    1 => 'Utilisation simple',
    2 => 'Utilisation simple',
  ),
  'up' => 
  array (
    0 => 'imagick.examples.php',
    1 => 'Exemples',
  ),
  'prev' => 
  array (
    0 => 'imagick.examples.php',
    1 => 'Exemples',
  ),
  'next' => 
  array (
    0 => 'class.imagick.php',
    1 => 'Imagick',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/imagick/examples.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="imagick.examples-1" class="section">
  <h2 class="title">Utilisation simple</h2>
  <p class="para">
   Imagick rend la manipulation des images via PHP extrêmement facile
   grâce à une interface orientée objet. Voici un exemple rapide
   illustrant la création d&#039;une miniature :
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Création d&#039;une miniature avec Imagick</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />header</span><span style="color: #007700">(</span><span style="color: #DD0000">'Content-type: image/jpeg'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$image </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">(</span><span style="color: #DD0000">'image.jpg'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Si 0 est fourni comme paramètre de hauteur ou de largeur,<br />// les proportions seront conservées<br /></span><span style="color: #0000BB">$image</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">thumbnailImage</span><span style="color: #007700">(</span><span style="color: #0000BB">100</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #0000BB">$image</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>

  <p class="para">
   En utilisant SPL ou toute autre fonctionnalité orientée objet supportée
   par Imagick, il devient simple de redimensionner tous les fichiers
   d&#039;un dossier (utile pour des scripts batch redimensionnant des images
   issues d&#039;un appareil photo numérique afin de les rendre lisibles sur le
   web). Voici un exemple de redimensionnement de toutes les images
   JPG d&#039;un dossier, tout en conservant les métadonnées :
   <div class="example" id="example-2">
    <p><strong>Exemple #2 Création de miniature de toutes les images JPG d&#039;un dossier</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$images </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">(</span><span style="color: #0000BB">glob</span><span style="color: #007700">(</span><span style="color: #DD0000">'images/*.JPG'</span><span style="color: #007700">));<br /><br />foreach(</span><span style="color: #0000BB">$images </span><span style="color: #007700">as </span><span style="color: #0000BB">$image</span><span style="color: #007700">) {<br /><br />    </span><span style="color: #FF8000">// On fournit 0 en guise de paramètre afin de conserver les proportions<br />    </span><span style="color: #0000BB">$image</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">thumbnailImage</span><span style="color: #007700">(</span><span style="color: #0000BB">1024</span><span style="color: #007700">,</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br />}<br /><br /></span><span style="color: #0000BB">$images</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">writeImages</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Voici un exemple permettant de créer le reflet d&#039;une image. Ce reflet est créé en
   retournant l&#039;image et en y ajoutant un dégradé.
   Ensuite, l&#039;image originale et son reflet sont ajoutés dans une nouvelle image.
   <div class="example" id="example-3">
    <p><strong>Exemple #3 Création d&#039;un reflet sur une image</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Lecture de l'image */<br /></span><span style="color: #0000BB">$im </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">(</span><span style="color: #DD0000">"test.png"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Création d'une miniature de l'image */<br /></span><span style="color: #0000BB">$im</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">thumbnailImage</span><span style="color: #007700">(</span><span style="color: #0000BB">200</span><span style="color: #007700">, </span><span style="color: #0000BB">null</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Création d'une bordure */<br /></span><span style="color: #0000BB">$im</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">borderImage</span><span style="color: #007700">(new </span><span style="color: #0000BB">ImagickPixel</span><span style="color: #007700">(</span><span style="color: #DD0000">"white"</span><span style="color: #007700">), </span><span style="color: #0000BB">5</span><span style="color: #007700">, </span><span style="color: #0000BB">5</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Clône l'image et on la retourne */<br /></span><span style="color: #0000BB">$reflection </span><span style="color: #007700">= </span><span style="color: #0000BB">$im</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">clone</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$reflection</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">flipImage</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* Création du dégradé. Il sera ajouté à l'image retournée */<br /></span><span style="color: #0000BB">$gradient </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* Le dégradé doit être assez large pour l'image et ses bordures */<br /></span><span style="color: #0000BB">$gradient</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newPseudoImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$reflection</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getImageWidth</span><span style="color: #007700">() + </span><span style="color: #0000BB">10</span><span style="color: #007700">, </span><span style="color: #0000BB">$reflection</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getImageHeight</span><span style="color: #007700">() + </span><span style="color: #0000BB">10</span><span style="color: #007700">, </span><span style="color: #DD0000">"gradient:transparent-black"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Ajout du dégradé sur l'image retournée */<br /></span><span style="color: #0000BB">$reflection</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">compositeImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$gradient</span><span style="color: #007700">, </span><span style="color: #0000BB">imagick</span><span style="color: #007700">::</span><span style="color: #0000BB">COMPOSITE_OVER</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Ajout d'un peu d'opacité. Nécessite ImageMagick 6.2.9 ou supérieur */<br /></span><span style="color: #0000BB">$reflection</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setImageOpacity</span><span style="color: #007700">( </span><span style="color: #0000BB">0.3 </span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Création d'une image vide */<br /></span><span style="color: #0000BB">$canvas </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* L'image vide doit être assez large pour contenir les 2 images */<br /></span><span style="color: #0000BB">$width </span><span style="color: #007700">= </span><span style="color: #0000BB">$im</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getImageWidth</span><span style="color: #007700">() + </span><span style="color: #0000BB">40</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$height </span><span style="color: #007700">= (</span><span style="color: #0000BB">$im</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getImageHeight</span><span style="color: #007700">() * </span><span style="color: #0000BB">2</span><span style="color: #007700">) + </span><span style="color: #0000BB">30</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$canvas</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">, new </span><span style="color: #0000BB">ImagickPixel</span><span style="color: #007700">(</span><span style="color: #DD0000">"black"</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$canvas</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setImageFormat</span><span style="color: #007700">(</span><span style="color: #DD0000">"png"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Ajout de l'image originale et de l'image retournée dans notre nouvelle image */<br /></span><span style="color: #0000BB">$canvas</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">compositeImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$im</span><span style="color: #007700">, </span><span style="color: #0000BB">imagick</span><span style="color: #007700">::</span><span style="color: #0000BB">COMPOSITE_OVER</span><span style="color: #007700">, </span><span style="color: #0000BB">20</span><span style="color: #007700">, </span><span style="color: #0000BB">10</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$canvas</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">compositeImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$reflection</span><span style="color: #007700">, </span><span style="color: #0000BB">imagick</span><span style="color: #007700">::</span><span style="color: #0000BB">COMPOSITE_OVER</span><span style="color: #007700">, </span><span style="color: #0000BB">20</span><span style="color: #007700">, </span><span style="color: #0000BB">$im</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getImageHeight</span><span style="color: #007700">() + </span><span style="color: #0000BB">10</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Affichage de l'image */<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Content-Type: image/png"</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$canvas</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus est similaire à :</p></div>
    <div class="mediaobject">
     
     <div class="imageobject">
      <img src="images/c0d23d2d6769e53e24a1b3136c064577-hello_world_reflection.png" alt="Affichage de l'exemple : Création d'un reflet sur une image" width="250" height="130" />
     </div>
    </div>
   </div>
  </p>
  <p class="para">
   Voici un exemple montrant comment remplir un masque lors du dessin de l&#039;image.
   <div class="example" id="example-4">
    <p><strong>Exemple #4 Remplissage d&#039;un texte avec un dégradé</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">/* Création d'un nouvel objet imagick */<br /></span><span style="color: #0000BB">$im </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* Création d'une nouvelle image. Elle sera utilisée comme masque de remplissage */<br /></span><span style="color: #0000BB">$im</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newPseudoImage</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #DD0000">"gradient:red-black"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Création d'un nouvel objet imagickdraw */<br /></span><span style="color: #0000BB">$draw </span><span style="color: #007700">= new </span><span style="color: #0000BB">ImagickDraw</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* On commence un nouveau masque nommé "gradient" */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">pushPattern</span><span style="color: #007700">(</span><span style="color: #DD0000">'gradient'</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Ajout du dégradé sur le masque */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">composite</span><span style="color: #007700">(</span><span style="color: #0000BB">Imagick</span><span style="color: #007700">::</span><span style="color: #0000BB">COMPOSITE_OVER</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">$im</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Fermeture du masque */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">popPattern</span><span style="color: #007700">();<br /><br /></span><span style="color: #FF8000">/* Utilisation du masque nommé "gradient" comme remplissage */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFillPatternURL</span><span style="color: #007700">(</span><span style="color: #DD0000">'#gradient'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Définition de la taille du texte à 52 */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFontSize</span><span style="color: #007700">(</span><span style="color: #0000BB">52</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Ajout d'un texte */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">annotation</span><span style="color: #007700">(</span><span style="color: #0000BB">20</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #DD0000">"Bonjour le monde !"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Création d'un nouvel objet et d'une image blanche */<br /></span><span style="color: #0000BB">$canvas </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$canvas</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newImage</span><span style="color: #007700">(</span><span style="color: #0000BB">350</span><span style="color: #007700">, </span><span style="color: #0000BB">70</span><span style="color: #007700">, </span><span style="color: #DD0000">"white"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Dessine le ImagickDraw sur la nouvelle image */<br /></span><span style="color: #0000BB">$canvas</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">drawImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$draw</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Une bordure noire d'un pixel autour de l'image */<br /></span><span style="color: #0000BB">$canvas</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">borderImage</span><span style="color: #007700">(</span><span style="color: #DD0000">'black'</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Définition du format à PNG */<br /></span><span style="color: #0000BB">$canvas</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setImageFormat</span><span style="color: #007700">(</span><span style="color: #DD0000">'png'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Affiche l'image */<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"Content-Type: image/png"</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$canvas</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus est similaire à :</p></div>
    <div class="mediaobject">
     
     <div class="imageobject">
      <img src="images/c0d23d2d6769e53e24a1b3136c064577-hello_world.png" alt="Affichage de l'exemple : Remplissage d'un texte avec un dégradé" width="352" height="72" />
     </div>
    </div>
   </div>
  </p>
  <p class="para">
   Exemple avec des images GIF animées
   <div class="example" id="example-5">
    <p><strong>Exemple #5 Lit une image GIF et redimensionne toutes les frames</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">/* Crée un nouvel objet imagick et lit une image GIF */<br /></span><span style="color: #0000BB">$im </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">(</span><span style="color: #DD0000">"example.gif"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Redimensionne toutes les frames */<br /></span><span style="color: #007700">foreach (</span><span style="color: #0000BB">$im </span><span style="color: #007700">as </span><span style="color: #0000BB">$frame</span><span style="color: #007700">) {<br />    </span><span style="color: #FF8000">/* 50x50 frames */<br />    </span><span style="color: #0000BB">$frame</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">thumbnailImage</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">);<br /><br />    </span><span style="color: #FF8000">/* Définit le canevas virtuel à la bonne taille */<br />    </span><span style="color: #0000BB">$frame</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setImagePage</span><span style="color: #007700">(</span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">50</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">/* Notez l'utilisation de writeImages au lieu de writeImage */<br /></span><span style="color: #0000BB">$im</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">writeImages</span><span style="color: #007700">(</span><span style="color: #DD0000">"example_small.gif"</span><span style="color: #007700">, </span><span style="color: #0000BB">true</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Exemple avec des ellipses primitives et des polices personnalisées
   <div class="example" id="example-6">
    <p><strong>Exemple #6 Création d&#039;un logo PHP</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">/* Définit la largeur et la hauteur en proportion du logo PHP */<br /></span><span style="color: #0000BB">$width </span><span style="color: #007700">= </span><span style="color: #0000BB">400</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$height </span><span style="color: #007700">= </span><span style="color: #0000BB">210</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">/* Crée un objet Imagick avec une toile transparente */<br /></span><span style="color: #0000BB">$img </span><span style="color: #007700">= new </span><span style="color: #0000BB">Imagick</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$img</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">newImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$width</span><span style="color: #007700">, </span><span style="color: #0000BB">$height</span><span style="color: #007700">, new </span><span style="color: #0000BB">ImagickPixel</span><span style="color: #007700">(</span><span style="color: #DD0000">'transparent'</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">/* Nouvelle instance ImagickDraw pour dessiner l'ellipse */<br /></span><span style="color: #0000BB">$draw </span><span style="color: #007700">= new </span><span style="color: #0000BB">ImagickDraw</span><span style="color: #007700">();<br /></span><span style="color: #FF8000">/* Définit la couleur violette pour remplir l'ellipse */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFillColor</span><span style="color: #007700">(</span><span style="color: #DD0000">'#777bb4'</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Définit les dimensions de l'ellipse */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ellipse</span><span style="color: #007700">(</span><span style="color: #0000BB">$width </span><span style="color: #007700">/ </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">$height </span><span style="color: #007700">/ </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">$width </span><span style="color: #007700">/ </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">$height </span><span style="color: #007700">/ </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">360</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Dessine l'ellipse dans la toile */<br /></span><span style="color: #0000BB">$img</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">drawImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$draw</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Réinitialise la couleur de remplissage, passant du violet au noir pour le texte (note : nous ré-utilisons l'objet ImagickDraw) */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFillColor</span><span style="color: #007700">(</span><span style="color: #DD0000">'black'</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Définit à blanc la couleur du trait de la bordure */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setStrokeColor</span><span style="color: #007700">(</span><span style="color: #DD0000">'white'</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Rend plus fin le trait de la bordure */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setStrokeWidth</span><span style="color: #007700">(</span><span style="color: #0000BB">2</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Définit le crénage de la police (une valeur négative signifie que les lettres sont proches les unes des autres) */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setTextKerning</span><span style="color: #007700">(-</span><span style="color: #0000BB">8</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* Définit la police et sa taille à utiliser dans le logo PHP */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFont</span><span style="color: #007700">(</span><span style="color: #DD0000">'Handel Gothic.ttf'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setFontSize</span><span style="color: #007700">(</span><span style="color: #0000BB">150</span><span style="color: #007700">);<br /></span><span style="color: #FF8000">/* On centre le texte horizontalement et verticalement */<br /></span><span style="color: #0000BB">$draw</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setGravity</span><span style="color: #007700">(</span><span style="color: #0000BB">Imagick</span><span style="color: #007700">::</span><span style="color: #0000BB">GRAVITY_CENTER</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Ajout de "php" au centre, avec une position en Y de -10 dans la toile (à l'intérieur de l'ellipse) */<br /></span><span style="color: #0000BB">$img</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">annotateImage</span><span style="color: #007700">(</span><span style="color: #0000BB">$draw</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, -</span><span style="color: #0000BB">10</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #DD0000">'php'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$img</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setImageFormat</span><span style="color: #007700">(</span><span style="color: #DD0000">'png'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* On définit l'en-tête approprié pour le PNG et on affiche l'image */<br /></span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">'Content-Type: image/png'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$img</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus est similaire à :</p></div>
    <div class="mediaobject">
     
     <div class="imageobject">
      <img src="images/c0d23d2d6769e53e24a1b3136c064577-php_logo.png" alt="Affichage de l'exemple : Création d'un logo PHP avec Imagick" width="300" height="180" />
     </div>
    </div>
   </div>
  </p>
 </div><?php manual_footer($setup); ?>