:arrow:
Introduction
La librairie GD de php permet de travailler sur les images, une des utilisations les plus courante, est la génération de graphiques pour les outils de statistiques.
:arrow:
Avant de dessiner
En premier lieu, il faut créer une nouvelle ressource image, pour cela on utilise la fonction ImageCreate.
Les dimensions de l'image sont exprimées en pixel
[quote]
<?php
$largeur ;
[/color];
[/color]);
[/color]
[/quote]
Une fois l'image initialisée, il faut maintenant définir toutes les couleurs qui vont être utilisées dans cette image, la fonction ImageColorAllocate est là pour ça.
Les couleurs sont exprimées en RGB (RVB pour nous français).
[quote]
<?php
$noir );
[/color]);
[/color]);
[/color]
[/quote]
Nous venons donc ici de créer les 3 couleurs qui seront utilisées dans l'image référencée $image.
Note: la couleur d'arrière plan de l'image est la première couleur définie, ici la couleur de fond est donc le noir.
:arrow:
Les fonctions
Regardons de plus près quelques unes des fonctions de dessin.
Avant de commencer, il faut savoir que l'origine de l'image, le point 0,0 se situe dans le coin supérieur gauche de l'image.
img:coupe
img:remarque Dessinons un pixel
On utilise pour cela la fonction imagesetpixel :
elle s'utilise de la manière suivante :
imagesetpixel ([ressource image], [coordonnées x,y], [couleur])
[quote]
<?php
Imagesetpixel );
[/color]
[/quote]

img:coupe
img:remarque Dessinons une ligne
Pour les lignes, c'est imageline dont nous aurons besoin :
elle s'utilise de la façon suivante :
imageline ([ressource image], [x,y de début], [x,y de fin], [couleur])
[quote]
<?php
imageline );
[/color]
[/quote]

Ici nous dessinons donc une ligne horizontale sur l'image $image de début x=20,y=30 et de fin x=40,y=30 de couleur noire.
img:coupe
img:remarque Dessinons un rectangle vide
Pour dessiner un rectangle vide, on utilise la fonction imagerectangle :
elle s'utilise de la même manière que imageline.
imagerectangle ([ressource image], [x,y de début], [x,y de fin], [couleur])
[quote]
<?php
imagerectangle );
[/color]
[/quote]

Nous venons de dessiner un rectangle vide dans l'image $image de coordonnées de début x=5, y=5 et de fin x=25, y=20 de couleur jaune
pour dessiner un rectangle plein, la fonction est : imagefilledrectangle
[quote]
<?php
imagefilledrectangle );
[/color]
[/quote]

img:coupe
img:remarque Dessinons un cercle vide
La fonction est imagearc :
son utilisation nécessite plus de paramètres :
imagearc ([ressource image], [x,y du centre], [largeur et hauteur du cercle], [debut et fin en degres], [couleur])
[quote]
<?php
imagearc );
[/color]
[/quote]
[img]http://dream.media-box.net/imgtut/ldo/initiation-GD/img5.png[/img]
Pour obtenir un cercle plein, meme principe que pour les rectangles, on utilise imagefilledarc
:arrow:
Il est l'heure d'afficher le résultat
en premier lieu, il faut indiquer au navigateur que le document est une image png (type image/png), et non un document html (type text/html).
Avec GD, vous avez le choix entre 2 formats de sortie, le png ou le jpg (le gif n'etant plus supporté depuis la version 1.6 de GD).
[quote]
<?php
header );
[/color]
[/quote]
Il ne reste plus qu'à afficher le contenu de l'image référencée.
[quote]
<?php
imagepng);
[/color]
[/quote]
Puis détruire la ressource
[quote]
<?php
imagedestroy);
[/color]
[/quote]