eddie5150
Messages postés34Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention20 octobre 2008
-
19 mai 2006 à 11:58
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 2008
-
19 mai 2006 à 19:01
Bonjour tout le monde.
J'ai un probleme avec la librairie gd, quand j'essaye d'afficher un graphique, composé de rectangles, j'obtiens un magnifique : ‰PNG IHDRúȼ0 PLTEÈddðððÿ¤zYöIDATxœíÑ1nÃ0 …aiÐÒYº.
Le code viens d'un site web, et apparemment, il marche sans probleme.
J'ai bien mis, au tout début de mon fichier php, header("Content-type: image/png");
De plus, apparemment, la librairie est bien activée :
GD Support, enabled, ----
GD Version, bundled (2.0.28 compatible)
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 20083 19 mai 2006 à 13:01
Salut,
Donne nous le liens où tu as trouver le code, sa pourais nous aidez.
Tu as regarder ce que Firefox en penser de ton image ?
As-tu mis un @ devant le header pour masquer une eventuel notice, car il ya une erreur qui c'est generer avant OU que tu as un espace ou autre tout au debut du fichier avant le <?php, ou tout à la fin du fichier ?
Essaye cela:
- Commente ou enleve le header(..)
- Commente ou enleve le imagepng()
Regarde ensuite si le fichier fait bien 0 octets, qu'il nya aucune notice, aucune erreur, aucun caractére.
Là sa a bien l'aire d'un PNG qui a raté, il est soit corrumpu, soit generer par quelque chose.
------------------------------------------------------------------------------------------------------------------
Ilvaut
mieux poser une question et passer pour bête que le rester toutesa v
eddie5150
Messages postés34Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention20 octobre 20081 19 mai 2006 à 15:46
Teclis01 -> J'ai bien regardé, mais la librairie est bien installée chez moi, donc le probleme ne vient pas de la ...
juki_webmaster -> avec le @, rien ne se passe, sinon, si je commente le imagepng(), le fichier est bien vide.
Sous firefox, j'ai un message : L'image ne peut être affichée car elle contient des erreurs...
Pourtant, j'ai essayé en faisant :
imagePng($image,'essai.png');
echo "";
et la, ca marche parfaitement, le seul problème c'est qu'il enregistre l'image, alors que j'aimerai simplement l'afficher directement.
Voici le code :
<?php
// On pourra supposer que les données sont lues
// dans une base de données mais dans l'immédiat
// a titre d'exemple elles sont simplement codées "en dur"
$valeurs = array(12,23,9,58,23,26,57,48,12);
// Tracé du fond de l'histogramme
imageFilledRectangle($img, 10, 20, $largeur-25, $hauteur-10, $fond);
// 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)(($largeur-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]*($hauteur-40))/$max);