1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
<html>
<head>
<?php
echo '<script language="Javascript">
<!--
header ("Content-type: image/png");
// -->
</script>';
?>
</head>
<body>
<?php
$visite_par_mois[1]=1500;
$visite_par_mois[2]=2450;
$visite_par_mois[3]=800;
$visite_par_mois[4]=1780;
//ETC.....
$max_visite = max($visite_par_mois);
$largeur = 550;
$hauteur = 300;
$im = @ImageCreate ($largeur, $hauteur) or die ("Erreur lors de la création de l'image");
$blanc = ImageColorAllocate ($im, 255, 255, 255);
$noir = ImageColorAllocate ($im, 0, 0, 0);
$bleu_fonce = ImageColorAllocate ($im, 75, 130, 195);
$bleu_clair = ImageColorAllocate ($im, 95, 160, 240);
ImageLine ($im, 20, $hauteur-40, $largeur-15, $hauteur-40, $noir);
// on affiche le numéro des 12 mois
for ($i=1; $i<=12; $i++) {
if ($i==1) {
ImageString ($im, 2, 42, $hauteur-38, $i, $noir);
}
else {
ImageString ($im, 2, ($i)*42, $hauteur-38, $i, $noir);
}
}
ImageLine ($im, 20, 30, 20, $hauteur-40, $noir);
// Définition de la variable d'environnement pour GD
putenv('GDFONTPATH=' . realpath('.'));
// Nom de la police à utiliser (notez l'absence de l'extension .ttf)
$font = 'tahoma';
imagettftext($im, 14, 0, $largeur-70, $hauteur-10, $noir, $font, "Mois");
imagettftext($im, 14, 0, 10, 20, $noir, $font, "Nb. de pages vues");
imagettftext($im, 14, 0, $largeur-250, 20, $noir, $font, "Statistiques pour l'année 2003");
// on parcourt les douze mois de l'année
for ($mois=1; $mois <= 12; $mois++) {
if ($visite_par_mois[$mois]!="0") {
// on calcule la hauteur du baton
$hauteurImageRectangle = ceil(((($visite_par_mois[$mois])*($hauteur-50))/$max_visite));
if ($mois=="1") {
// si le mois est janvier, on affiche notre premier baton
// on affiche le premier baton noir
ImageFilledRectangle ($im, 42, $hauteur-$hauteurImageRectangle, 42+14, $hauteur-41, $noir);
// on affiche le second baton, bleu foncé, qui sera un peu plus petit que le noir afin de recouvrir une partie du noir
ImageFilledRectangle ($im, 44, $hauteur-$hauteurImageRectangle+2, 42+12, $hauteur-41-1, $bleu_fonce);
// on affiche le dernier baton, bleu clair, qui sera un peu plus petit que le bleu foncé afin de recouvrir une partie du bleu foncé (on obtiendra ainsi un effet de dégradé)
ImageFilledRectangle ($im, 48, $hauteur-$hauteurImageRectangle+2, 42+8, $hauteur-41-1, $bleu_clair);
}
else {
// si le mois est different de janvier, on affiche les autres batons
ImageFilledRectangle ($im, ($mois)*42, $hauteur-$hauteurImageRectangle, ($mois)*42+14, $hauteur-41, $noir);
ImageFilledRectangle ($im, ($mois)*42+2, $hauteur-$hauteurImageRectangle+2, ($mois)*42+12, $hauteur-41-1, $bleu_fonce);
ImageFilledRectangle ($im, ($mois)*42+6, $hauteur-$hauteurImageRectangle+2, ($mois)*42+8, $hauteur-41-1, $bleu_clair);
}
}
}
// on dessine le tout
Imagepng ($im);
?>
</body>
</html> |
Partager