Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/05/2011, 21h32   #1
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 468
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 468
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
Par défaut Erreur de génération d’image du graphe avec GD

Bonjour,

Je suis entrain d'utiliser la librairie GD en php avec le tutoriel est j’ai suivit tout les étapes indiquer dans le tuto tout me semble correct mais au finale j’ai une image qui contiens un message d’erreur qui dit :

L'image “http://127.0.0.1/graphe/graphes_statistiques.php” ne peut être affichée car elle contient des erreurs.

Si quelqu’un peut m’indique où j’ai fait une erreur parce que je n’arrive pas à trouver ?

Cordialement
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 08h19   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
Bonjour,

Tu pourrais nous montrer le code mis en place ?
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2011, 10h35   #3
Membre habitué
 
Avatar de geforce
 
Femme
Développeur informatique
Inscription : janvier 2010
Messages : 468
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2010
Messages : 468
Points : 149
Points : 149
Envoyer un message via Skype™ à geforce
Citation:
Envoyé par Nesmontou Voir le message
Bonjour,

Tu pourrais nous montrer le code mis en place ?
ces exactement le code du Tutorial :

Code :
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
 
<?php
$host="localhost";
$utilisateur="root";
$motdepasse="****";
$base="eco_energy_graphe";
$conexion=mysql_connect($host,$utilisateur,$motdepasse) or die('Connexion impossible: ' . mysql_error());
$db=mysql_select_db($base, $conexion) or die('Connexion a la base impossible : ' . mysql_error());
$query=mysql_query('SELECT MONTH(dates) AS mois, libelle_produit,(SELECT SUM(quantite) FROM vente
WHERE produit.id_produit=vente.id_produit AND MONTH(dates)=mois AND YEAR(dates)=2011)as qtvendu FROM vente,produit
WHERE produit.id_produit=vente.id_produit AND produit.id_produit=1 AND YEAR(dates)=2011 GROUP BY mois ORDER BY mois ASC');
?>
<?php
 
$moisFr=array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Decembre');
$resultat=array();
$i=0;
 
while($row=mysql_fetch_object($query))
{
//var_dump($row); echo "<br/> : ".$row->qtvendu;
	//Mettre la ligne dans le tableau
    $resultat[$row->mois]=$row->qtvendu;
    //Prendre la première quantité vendu comme minimum et maximum
    if($i==0)
		{
			$min=$row->qtvendu;
			$max=$row->qtvendu;
		}
    //Tester si la quantité vendu est inférieur au minimum et le prendre si il l'est
    if($row->qtvendu < $min)
		{
			$min=$row->qtvendu;
		}
    //Tester si la quantité vendu est inférieur au maximum et le prendre si il l'est
    else
		{
			if($row->qtvendu > $max)
			 {
			 	$max=$row->qtvendu;
			}
		}
    $i++;
}
#################
 
//Type mime de l'image
header('Content-type: image/png');
//Chemin vers le police à utiliser
$font_file = './arial.ttf';
//Adapter la largeur de l'image avec le nombre de donnée
$largeur=$i*50+90;
$hauteur=400;
//Hauteur de l'abscisse par rapport au bas de l'image
$absis=80;
//Création de l'image
$courbe=imagecreatetruecolor($largeur, $hauteur);
//Allouer les couleurs à utiliser
$bleu=imagecolorallocate($courbe, 0, 0, 255);
$ligne=imagecolorallocate($courbe, 220, 220, 220);
$fond=imagecolorallocate($courbe, 250, 250, 250);
$noir=imagecolorallocate($courbe, 0, 0, 0);
$rouge=imagecolorallocate($courbe, 255, 0, 0);
//Colorier le fond
imagefilledrectangle($courbe,0 , 0, $largeur, $hauteur, $fond);
//Tracer l'axe des abscisses
imageline($courbe, 50, $hauteur-$absis, $largeur-10,$hauteur-$absis, $noir);
//Tracer l'axe des ordonnées
imageline($courbe, 50,$hauteur-$absis,50,20, $noir);
//Decaler 10px vers le haut le si le minimum est différent de 0
if($min!=0)
{
$absis+=10;
$a=10;
}
//Nombres des grides verticales
$nbOrdonne=10;
//Calcul de l'echelle des abscisses
$echelleX=($largeur-100)/$i;
//Calcul de l'echelle des ordonnees
$echelleY=($hauteur-$absis-20)/$nbOrdonne;
$i=$min;
//Calcul des ordonnees des grides
$py=($max-$min)/$nbOrdonne;
$pasY=$absis;
while($pasY<($hauteur-19))
{
//Affiche la valeur de l'ordonnee
imagestring($courbe, 2,10 , $hauteur-$pasY-6, round($i), $noir);
//Trace la gride
imageline($courbe, 50, $hauteur-$pasY, $largeur-20,$hauteur-$pasY, $ligne);
//Decaller vers le haut pour la prochaine gride
$pasY+=$echelleY;
//Valeur de l'ordonnee suivante
$i+=$py;
}
################
 
 
 $j=-1;
 //Position de la première mois de vente
 $pasX=90;
 //Parcourir le tableau pour le traçage de la diagramme
 foreach ($resultat as $mois => $quantite) {
   //calculer la hateur du point par rapport à sa valeur
   $y=($hauteur) -(($quantite -$min) * ($echelleY/$py))-$absis;
   //dessiner le point
   imagefilledellipse($courbe, $pasX, $y, 6, 6, $rouge);
   //Afficher le mois en français avec une inclinaison de 315°
   imagefttext($courbe, 10, 315, $pasX, $hauteur-$absis+20, $noir, $font_file, $moisFr[$mois-1]);
   //Tacer une ligne veticale de l'axe de l'abscisse vers le point
   imageline($courbe, $pasX, $hauteur-$absis+$a, $pasX,$y, $noir);
   if($j!==-1)
    {
      //liée le point actuel avec la précédente
      imageline($courbe,($pasX-$echelleX),$yprev,$pasX,$y,$noir);
    }
    //Afficher la valeur au dessus du point
   imagestring($courbe, 2, $pasX-15,$y-14 , $quantite, $bleu);
   $j=$quantite;
   //enregister la hauteur du point actuel pour la liaison avec la suivante
   $yprev=$y;
   //Decaller l'abscisse suivante par rapport à son echelle
   $pasX+=$echelleX;
}
//Envoyer le flux de l'image
if(imagepng($courbe)) echo "OK";
 else echo "Non OK";
//Desallouer le memoire utiliser par l'image
imagedestroy($courbe);
 
?>
j'ai aussi tester sans le //header('Content-type: image/png');

voilà le message:
Citation:
Warning: imagefttext() [function.imagefttext]: Invalid font filename in C:\xampp\htdocs\www\Eco_energy_graphe\graphes_statistiques.php on line 110
+ des caractère spéciale qui représente l'image
geforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h56.


 
 
 
 
Partenaires

Hébergement Web