Bonjour,
je veux créer un histogramme en php
j'ai installé php_gd2.dll
je l'ai coché sous extensions
mais quand j'execute mon code ,il m'affiche une image vide .
j'ignore le probleme !!
voilà mon code je l'ai appelé dans une page html <img src="essai1.php" >
<?php
header("Content-type: image/png");
$valeurs = array(12,23,9,58,23,26,57,48,12);
$img=imagecreate(500,500);
$font=imagecolorallocate($img,209,206,234);
$noir=imagecolorallocate($img,0,0,0);
$titre="Histogramme";
imagecolortransparent($img,$font);
imagestring ($img,4,500-imagefontwidth(4)*strlen($titre))/2,0,$titre,$noir);
$rect_color=imagecolorallocate($img,0,85,170);
imagefilledrectangle ( $img , 10 , 20 , 490 , 490 ,imagecolorallocate($img,2555,255,255));
// Connaissant le nombre de barres = sizeOf($valeurs)
// et la largeur de l'image (en tenant compte des bords)
// il est possible de déterminer la largeur d'une barre
$barreLargeur = (int)((500-35)/(1.5*sizeof($valeurs)+0.5));
// Pour ajuster l'échelle (en hauteur) il faut déterminer
// la plus grande valeur du tableau
$max = 0;
for ($i=0; $i<sizeof($valeurs); $i++) {
if ($valeurs[$i]>$max)
$max = $valeurs[$i];
}
// Nous avons toutes les informations nécessaire
// il est alors possible de tracer toutes les barres
for ($i=0; $i<sizeof($valeurs); $i++) {
$x = 10+(int)($barreLargeur*(0.5+$i*1.5));
$barreHauteur = (int)(($valeurs[$i]*(500-40))/$max);
imagefilledrectangle($img, $x,
500-15-$barreHauteur,
$x+$barreLargeur,
500-15,
$rec_color);
}
imagepng($img);
imagedestroy($img);
?>
Configuration: Windows Vista
Firefox 3.0.11