Graphique Eclaté (1/3) |
Construire un graphique dynamique en PHP |
|
 |
Le langage PHP posséde de nombreuses possibilités... Mais souvent
ignorées de tous et toutes.
C'est pourquoi aujourd'hui, nous allons vous montrer qu'il est tout
à fait possible de réaliser des illustrations graphiques dynamiques
grâce à ce langage.
|
Préparation
En langage PHP, un module permet de concevoir des documents graphiques, il
s'agit de la norme GD. Cette norme ou plus exactement ce module permet de réaliser
des formes graphiques, des analyses de couleurs, l'utilisation de police de
caractères True Type (windows) ou Postcript (Mac).
en UN MOT : DU GRAPHISME DYNAMIQUE
La librairie est fournie automatiquement avec le PHP, mais vous pouvez télécharger
une version plus récente sur le site officiel de son auteur http://www.boutell.com/gd.
Rappel des bases d'une image
Les images qui peuvent être utilisées pour l'internet et qui sont reconnues par
vos navigateurs sont le JPEG, PNG. Le format GIF est un format utilisable par
vos navigateurs mais qui ne devrait plus être exploité dans vos pages HTML
c'est pourquoi nous ne l'utiliserons pas et préférerons le PNG.
Pour afficher une image simple au format PNG...
Déclaration de l'entête :
<? header("content-Type: image/png"); $image = imagecreate(300,300); // create image $noir = imagecolorallocate($image,0,0,0); // couleur du fond ?> |
Calcule une forme (ici un losange):
<? $couleur = imagecolorallocate($image, 0, 255, 0); // couleur vert $polygone = array (137,177,177,137,217,177,177,217); // nombre de positions pour les points $nb_sommets = count ($polygone)/2; // nombre de pointes imagepolygon($image, $polygone, $nb_sommets, $couleur); // affiche un polygone en losange ?> |
Affiche la forme en PNG et libère la mémoire :
<? imagepng($image); // affiche imagedestroy($image); // libère ?> |
Vous pouvez reconstruire cet exemple, pour obtenir un losange.
La fonction d'un polygone permet de mettre autant de points et donc de sommets
que l'on veut, permettant ainsi de faire des formes illimitées.
Hello le
12/07/2003 (132 006 hits) |
|
|