FEB
25
PHP et GD courbes bezier multi-layers
25.02.2007 | | Auteur : Ayashi | Catégorie : Programmation


Il est possible de créer des images complexes en utilisant la librairie GD 2.0 disponible dans PHP. La génération d'images à la volée permet de facilement mettre en valeur des données contenues dans une base de données. De nombreux modules gratuits permettant de créer des graphiques sont disponibles sur internet ( JPGraph par exemple ). En utilisant les fonctionnalitées de GD comme la transparence ou les images truecolors il est possible d'obtenir un rendus exceptionnel en JPG,GIF ou PNG.

En ajoutant une dimension mathématique comme les courbes de bézier, il est encore possible d'améliorer la représentation graphique. L'exemple suivant est un script qui accepte en entrée un tableau à deux dimensions, la première contient les données, la deuxième contient un TimeStamp :

 Value 
1
5
3
14
-5
6
 TimeStamp  1172367147 1172323947 1172280747 1172237547 1172194347 1172151147
On définit quelques valeurs concernant la taille de l'image ( $ImageX, $ImageY ), le titre du graphique ( $Title ), l'unité de mesure des valeurs ( $Unit ). On crée ensuite les images au format truecolor ce qui permet d'avoir une palette illimitée : $BackGround contiendra le fond, le quadrillage et les labels. $ForeGround contiendra le graphique. A noté l'utilisation de la fonction imagecolortransparent qui permet de définir une couleur comme transparente : nous utilisons le blanc ( #FFFFFF ). Afin de rendre le graphique plus doux, on utilise la formule de Bézier qui permet de créer des courbes paramétriques. Cette formule du 3em degré nécessite de connaitre le point de départ ( $Starti ), celui d'arrivée ( $Endi ) ainsi que deux vecteurs ( $Vecij ). Pour terminer nous faisons appel à la fonction imagecopymerge qui permet d'appliquer la transparence en applatissant les deux couches $BackGround et $ForeGround. Le coefficient de transparence est de 20. Pour voir ce script en action, cliquez ici!, pour le télécharger, cliquez ici.
Tags : php, gd, layer, bezier | Digg!
Commentaires  | Ajouter un commentaire
Ayashi
30.08.07 / 16:20
Oui effectivement, sans le fichier de font en local ça ne marche pas. Le script tournait sur un systeme windows avant et cela ne posait pas de probleme... J'ai oublie de verifier en deplacant sur ce serveur linux.. Merci!
Jihane
18.06.07 / 16:15
C Bon j'ai trouvé...Il suffit d'un petit changement: header("Content-Type: image/png");imagePNG($BackGround,"tmp.png");echo "";au lieu de
Jihane
18.06.07 / 15:49
Hi!Je trouve que ton code est propre, très interessant si toute fois ça marche...Je ne sais si tu t'en ai rendu compte mais ton script ne marche pas, j'ai trouvé un premier problème et la solution pour éliminer les erreurs dues au imagettftext.Il faudrait placer le fichier de font directement dans ton espace web et spécifie le chemin avec l'extension. Par exemple au lieu de "verdana" il faudrait mettre '../monrep/verdana.ttf' élimine les erreurs image mais le scipt ne marche toujours pas et ça met le même charabia que pour ton "script en action" je pense que ça vient de la config... à  vérifier!sinon jolie script ;)
Rechercher sur internet  ?  | Rechercher!
Trackback
Utilisez le lien http://www.sunyday.net/trackback-php-gd-courbe-bezier-multi-layers pour faire un trackback vers cette article depuis votre site web. Les trackbacks sont soumis à une approbation mutuelle et susceptibles d'être supprimés si jugés indésirables.
Retrieve RSS feed. Get notified by eMail. Meteo Parser.
Computing widgets...
Jean-Damien POGOLOTTI© 2k6-2k7 | Design // Code

Qui suis-je?

Touche à tout restant bouche bée devant la complexité et la cohérence de ce monde je m'évertue à essayer d'en comprendre les rouages. En passant par la météorologie, la physique ou bien l'informatique, tout est une raison d'apprendre!
Comment les gens arrivent-il ici?
 lldp  une  nuls  convertisseur  adresse  map  line  fade  explication  champ  menu  latitude  snmp  photovoltaique  longitude  magn%C3%A9tique  convertir  d%27ozone  un  de  anim%C3%A9  en  le  coordonn%C3%A9es  script  regex  active  sunyday.net  metar  CODE  web  image  SUR  google  dans  gps  module  protocole  anomalie  ntfs  +  fading  trou  cli  PAGE  les  find  www.sunyday.net  mercator  browser  couche  php  terrestre  ad  pour  conversion  la  url  javascript  ajax  synop  sunyday  regexp  html  avec  ldap  authentification  et  des  directory  

Sunyday.net