Bonjour,
J'ai récupérer plusieurs code de graphisme de statistiques en barre mais aucun ne marche dès que je veux l'inclure dans un page déjà existante sinon dans une page vierge pas de problème. Celui-ci m'écrit le code l'image et ne l'affiche pas
Code source:
$Lgraph = 550; //largeur totale du graphe (de l'image)
$Hgraph = 412; //hauteur totale du graphe (de l'image)
$Marge = 30; //marge entre le cadre et les axes
$Espace = 12; //espace entre chaque bâton
$Font = 4; //numéro de la police d'écriture
$Titre = "Visiteurs cette année 2003"; //titre du graphe
//$ImageFond = "elephpant.png"; //facultatif, l'image de fond
$CouleurFond = Array(220, 220, 220); //couleur de fond du graphe
$CouleurCadre = Array(32, 72, 174); //couleur du cadre
$CouleurBatons = Array(32, 52, 107); //couleur des batons
$CouleurAxes = Array(119, 31, 112); //couleur des axes
$CouleurNotes = Array(58, 92, 63); //couleur des annotations textuelles
$CouleurVal = Array(128, 128, 128); //couleur des valeurs
$CouleurMax = Array(255, 0, 0); //couleur de la plus grande valeur
//tableau associatif des données
$Donnees["janv"] = 321;
$Donnees["févr"] = 654;
$Donnees["mars"] = 689;
$Donnees["avril"] = 699;
$Donnees["mai"] = 810;
$Donnees["juin"] = 930;
$Donnees["juil"] = 780;
$Donnees["août"] = 320;
$Donnees["sept"] = 650;
$Donnees["oct"] = 735;
$Donnees["nov"] = 700;
$Donnees["déc"] = 200;
//$Donnees = $_GET;
//création de l'image et des couleurs
$im = ImageCreate ($Lgraph, $Hgraph);
$clFond = ImageColorAllocate($im, $CouleurFond[0], $CouleurFond[1], $CouleurFond[2]);
$clCadre = ImageColorAllocate($im, $CouleurCadre[0], $CouleurCadre[1], $CouleurCadre[2]);
$clBatons = ImageColorAllocate($im, $CouleurBatons[0], $CouleurBatons[1], $CouleurBatons[2]);
$clAxes = ImageColorAllocate($im, $CouleurAxes[0], $CouleurAxes[1], $CouleurAxes[2]);
$clNotes = ImageColorAllocate($im, $CouleurNotes[0], $CouleurNotes[1], $CouleurNotes[2]);
$clVal = ImageColorAllocate($im, $CouleurVal[0], $CouleurVal[1], $CouleurVal[2]);
$clMax = ImageColorAllocate($im, $CouleurMax[0], $CouleurMax[1], $CouleurMax[2]);
//chargemetn de l'image de fond
if(trim($ImageFond) != "")
{
$ImFond = ImageCreateFromPNG($ImageFond);
ImageCopyResized($im, $ImFond, 1, 1, 0, 0, $Lgraph-2, $Hgraph-2, ImageSX($ImFond), ImageSY($ImFond));
ImageDestroy($ImFond);
}
//dessin du cadre et des axes
ImageRectangle($im, 1, 1, $Lgraph-1, $Hgraph-1, $clCadre);
ImageLine($im, $Marge, $Marge, $Marge, $Hgraph-$Marge, $clAxes);
ImageLine($im, $Marge, $Hgraph-$Marge, $Lgraph-$Marge, $Hgraph-$Marge, $clAxes);
//détermination de la place dispo, largeur des batons, rapport de hauteur etc...
$Hdispo = $Hgraph-2*$Marge-1-$Espace; //1 pr la largeur de l'axe
$Ldispo = $Lgraph-2*$Marge-1; //idem
$nbDonnees = count($Donnees);
$max = max($Donnees);
$Lbatons = $Ldispo/$nbDonnees-$Espace; //largeur de chaque baton
$rapportH = $Hdispo/$max; //la rapport à appliquer entre la hauteur et la valeur
//dessin des batons !!!!!!! les coordonnees ordinateurs !! (0,0) est au dessus à gauche !!
$n = 0;
reset($Donnees);
foreach($Donnees as $cle => $val)
{
//dessine le baton
$Hpix = round($val*$rapportH);
$X1 = $Marge+1+$Espace/2+$n*($Lbatons+$Espace);
$X2 = $X1+$Lbatons;
$Y1 = $Hgraph-($Hpix+$Marge+1);
$Y2 = $Hgraph-$Marge-1;
ImageFilledRectangle($im, $X1, $Y1, $X2, $Y2, $clBatons);
//écrit le nom en dessous
$Xnom = $X1+($Lbatons-(ImageFontWidth($Font)+0.5)*strlen($cle))/2;
$Ynom = $Hgraph-$Marge;
ImageString($im, $Font, $Xnom, $Ynom, $cle, $clNotes);
//écrit la valeur au dessus
$Xchiffre = $X1+($Lbatons-(ImageFontWidth($Font))*strlen($val))/2;
$Ychiffre = $Y1-ImageFontHeight($Font)-1;
if($val == $max)
ImageString($im, $Font, $Xchiffre, $Ychiffre, $val, $clMax);
else
ImageString($im, $Font, $Xchiffre, $Ychiffre, $val, $clVal);
$n++;
}
//traçage des tirets sur l'axe Y
$intervalle = 1;
while($intervalle*10 < $max/5) $intervalle *= 10;
$InterPix = round($intervalle*$rapportH);
$depacement = 2;
for($nbtir=1; $nbtir<=$max/$intervalle; $nbtir++)
{
$X1tiret = $Marge-$depacement;
$X2tiret = $Marge+$depacement;
$Ytiret = $Hgraph-($Marge+1+$InterPix*$nbtir);
ImageLine($im, $X1tiret, $Ytiret, $X2tiret, $Ytiret, $clAxes);
}
//écriture du titre
$Ltitre = ImageFontWidth($Font)*strlen($Titre);
$Xtitre = ($Lgraph-$Ltitre)/2;
$Ytitre = ($Marge-$Espace)/2+1;
ImageString($im, $Font, $Xtitre, $Ytitre, $Titre, $clNotes);
ImagePng ($im);
ImageDestroy($im);
Et voici l'affichage que j'obtient:
?PNG 1A; IHDR2;&1;½4;3;1F;Yvû15;PLTEÜÜÜ H® 4kw1F;p:\?€€€ÿ??F´8;?IDATx½íÝM'>:18;.aå-È<;He5;©Ê6;18;°&Ì3Êþ-p'""à8;lÚm"ÛïIÜ?ô?5;F;12;`1B;-!'o?È*æ[ír¹|ÃD,?6;13; &1A;L4~h0Ñ`¢ÁDó1A;&í©=ÉÄúÿíô[kn¯Ö^Í~ìÆ¢Îø>ÿù y "6ÿÑ´ÿZks¬OÌSM²t7¶©ûû1A;-6?ØW3 [± ýÛ}7ÓÏ~]Ü?iýmü9«?ÓÛéf³z³ðx="ðß|õëÒeÛ8_V13;§wYmê13;¶ýIfbÄdúÕÌR"±c"ÇIv?¯ÖO¬[ÜÖ,ÆE×uÉ$´5;÷ÕMÏküüílá|¥éæõMÌ¢F;~dbÒ18;Y÷%3MÏû^ö«WÜÇ.Æ,ÿ9®[717;"19;µ6Õ~TW6yÑcñ4E;ÂñÂ1F;cm<~,ÇN:|ع&L¾ûB~Üñcè5ÏÙ^:~h0Ñ`¢ÁDSÓäû¿¿þfþU["bj¨¼"þæ?^)bòû?¶£?»])µM &<|ÿ7îHÆý &yè'1A;L4ìc5916;¯òý¾ys¶SûÉ5f?6;13; &¨z&¿-9«Ù;,?6;13; &1A;L4~h0Ñ`¢ÁDf?6;13; &1A;L4~h0ѬMþü9 åuLè'~",?6;13; &1A;L4~h0Ñ`¢ÁDf?6;13; &1A;L4gT Ãø¥7|éã"·7i1C;^óè>8 13;gÒ÷á{8;&Þ2;"E|ý &sè'1A;L4~h¢ Çâ,n1F;; =çl»ÁDS619;ÆE;Õ¼ýÉ g-?æj&n×ãvÅMÚ17;¾¾«¨øCT¥½c²\ý¾.i³IIÁÄíO0¡¾ü,LK&áT16;L0¹Ëäë1F;Ï;TL+~m"Ãçû~h1E;419;?ù2ÏÅ2,1F;½V69õX½m€Ù$½¯.ýï"Ú&g¸³15;M ©jr8~h>Ëd°?"I:_»ñºÛ[Th¦KVÏ?ÔÊ`¢ÁDsàz¶&?`¿»?ý,&;ý$il<ÜÝYg~øË*?li*~?7;0ÍîÛ×Î2?1F;æ ik¨ì¿¥ï,">ÝââÔ0T¸&j¶1E;î?£É? 17;1 -iõ17;1T¾17;?i12;¾¥¹"ÉæSEojÒ`²Lz~þ2&Ë7µÔ0ÑÔ4I¯?ÖÐO0Á4;13;L0Á4;13;L0Á4;13;L0Á4;13;L0Á4;13;L0Á4;13;L0Á4;13;L0Á4;13;L0Á4;13;LÎ7áz6ú" &`Él¸~="" &`="" &¼iú="" ÜôqÅumâ??7ýÆâa?0ùüô="" ÛýÖ&:Ó¤¹d?&Ó?²w21Ó_dìln_ÙÄïk.³?iÜÌúio®bóls)¾¶iØÇ^ÅdÚ¿br0©{,vçkÃxÔ="" ñ¥¦="" kÒ×="gÓT5¹¹8~`,ÉUM1E;jð´Â?f.16;b," &+Äl="">V^ &õMÜõlF;5xGá«TÐO0Á4;13;L0ydfL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD õi&\t<É?'þºùùJFLÌü~,~?°óíM &«BãßK€I^hüõØ~ä.áòpLòÂéí@~d.ñm81C;<çBãßKÀ9[^x+~`, &F;µ²còE;׳15; wLè'~üÂ4;13;L1E;[DL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-Ü1áz6úÉ/L0Áä±EÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-ÄD 1ÑBL?10;13;-Ü3ùó´ù?oBE;¨?ÏZ¼{b?¹y»õ?¢I©ºkwîe³Ín=±.V16;w¨MÓYmy£14;-ªT&15;>E÷¨X³±DÛ±¥{j-_-dÓÖ³Úõø Éö6;?wì1C;ë"ζ5kçz뺮"1E;U*[e¯ hÒ¹»5Övsçð[nlÊù¶¡IÛÙ6LëÂw13;fs?Üv¡óÇí1E;Km>·âï},óå«iÉÄN÷Þæ=µ>17;1Ã<¥<Þh»?XsÓm1B;ïâ^"0PÆå¾?p17;=Æ[17;16;ú?ÇßÛØßÛ8k>RérìØ©F;ûòÕ??ª±Õ|vigYºheZ<|êØ¦L»mâ(17;sÙÅÒÍ+:n17;ÿ{?ï4Ûb§J7LÌ´IhAL'<~~U+%13;3/æý&Ýt/mZ+×WBÈMl1B;16;#´0KÑÄ®¶Ë&¶Õ~â7;C×1D;1É5;ü?0û1;13;¹';µ?6TûMÜv>&;cgÏ?4vÌ?'1F;1ɨ?×dÚªq§18;MLgV&qì"F¬¾eÃDÇ´-~صI1C;;]êîi¥Úl£äû13;Yÿ6ß?Ok·ÚF·LܸYLüøXT¼G"ÅØi"? ý{Y¨1F;%§V16;Ç"lZ<&?ÙÂ1;%ì}òãÎ|v-´;<õ7á18;³8ä}ä?sFJ1C;lù9 Z0ùìÇ15;å"Z9Üòi&úHã))µr?åóLÞ=~h0Ñ`¢ÁDf?6;13; &1A;L4~h0Ñ`¢ÁD3¨ü «üF;znÞ'Ú$beIEND®B`,
Seriez vous d'où celà vient-il?
P.S: Le header ("Content-type: image/png"); se trouve dans le fichier principal (index.php)
Merci bien.