Problème d'affichage avec la libraire GD

Signaler
Messages postés
4
Date d'inscription
lundi 4 avril 2005
Statut
Membre
Dernière intervention
28 avril 2005
-
Messages postés
1
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
17 juillet 2008
-
Salut à tous,

Je souhaite dessiner tout bêtement un rectangle en php (je travaille en local) à l'aide de la libraire GD. Pour cela, mon programme est de la forme:


<?php
header
("content-type: image/png"
);

?>


<?

$largeur
=
20;
$hauteur
=
20;
$image
= imagecreate
($largeur
,$hauteur
);

$noir
= imagecolorallocate
($image
,0,0,0);
$blanc
= imagecolorallocate
($image
,255,255,255);
$jaune
= imagecolorallocate
($image
,255,255,0);

imagefilledrectangle
($image
,5,5,20,20,$jaune
);

Imagepng
($image
);
ImageDestroy
($image
);

?>

Normalement il devrait m'afficher un rectangle mais voici le résultat que j'obtiens:

‰PNG  IHDRðçõž PLTEÿÿÿÿÿ^zJîIDATxœc`À´V­ZE ”Ï YÂççIEND®B`‚

La librairie GD est pourtant bien activée (lorsque je fais phpinfo() j'obtiens le tableau suivant:

gd



GD Support ,
enabled ,
----

GD Version ,
bundled (2.0.28 compatible) ,
----

FreeType Support ,
enabled ,
----

FreeType Linkage ,
with freetype ,
----

GIF Read Support ,
enabled ,
----

GIF Create Support ,
enabled ,
----

JPG Support ,
enabled ,
----

PNG Support ,
enabled ,
----

WBMP Support ,
enabled ,
----

XBM Support ,
enabled

Avez-vous une idée d'ou pourrait venir cette erreur ?
Merci d'avance,
Pauline

4 réponses

Messages postés
30
Date d'inscription
vendredi 17 septembre 2004
Statut
Membre
Dernière intervention
2 juillet 2005

pour moi ton script est bon simplement il ne faut pas de ligne vide a
l'interieur d'un script generant une image voici un code qui fonctionne



<?php




Ligne 01

header ("content-type: image/png");

$largeur = 120;

$hauteur = 40;

$image = imagecreatetruecolor($largeur,$hauteur);

$noir = imagecolorallocate($image,0,0,0);

$blanc = imagecolorallocate($image,255,255,255);

$jaune = imagecolorallocate($image,255,255,0);

imagefilledrectangle($image,5,5,30,30,$jaune);

imagepng($image);

imagedestroy($image);

?>




Ligne 12

comprend tu ce que je veux dire

si tu as un soucis je suis actuellement sur mirc
Messages postés
1
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
6 mai 2005

Bonjour,

J'ai un problème à peu près identique.
Je souhaite faire un test, et afficher une image.

J'ai easyphp 1.8 et j'ai activé la librairie gd (Je suis sous windowsXP avec IE et je teste en local)
voici mon script php (grap_dat_form.php).

<?php
header("content-type: image/png");
$imgtemps = imagecreate(100,100);
$bleu = imagecolorallocate($imgtemps,0,0,255);
$blanc = imagecolorallocate($imgtemps,255,255,255);
imagefilledrectangle ($imgtemps,5,5,20,20,$blanc);
imagepng($imgtemps);
imagedestroy($imgtemps);
?>

La page que je veut tester (planning.php) est dans le même repertoire que (grap_dat_form.php).
Dans le code j'ai mis:



Cependant, lorsque j'execute le script j'ai affiché une croix rouge.
J'ai pas mal cherché une solution dans de nombreux forums , c'est pourquoi un avis extérieur me serait utile.

Merci d'avance.

john028
Messages postés
30
Date d'inscription
vendredi 17 septembre 2004
Statut
Membre
Dernière intervention
2 juillet 2005

desole pour cette réponse, mais ton script fonctionne tres bien, donc le probleme dois etre ailleur.



si tu le souhaite tu peux me contacter sur msn : michael@the-orchid-web.com ou skype :pseudo hollenfurst
Messages postés
1
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
17 juillet 2008

Bonjour
Dessinez un petit rectangle avec la commande "imagefilledrectangle"  ne pose aucun problème.
En revanche, en dessiner plusieurs s'avère impossible sauf sur le serveur local, et je ne sais pas pourquoi ?
Voyez le petit exemple ci-dessous.
Merci d'avance de me répondre
Eric Choppinet
Email : eric.choppinet@free.fr

<?php
header ("content-type: image/png");
$largeur = 120;
$hauteur = 40;
$image = imagecreatetruecolor($largeur,$hauteur);
$noir = imagecolorallocate($image,0,0,0);
$blanc = imagecolorallocate($image,255,255,255);
$jaune = imagecolorallocate($image,255,255,0);
imagefilledrectangle($image,5,5,30,30,$jaune);
imagefilledrectangle($image,75,5,50,30,$blanc);    // ne s'affiche que sur le serveur local http://127.0.0.1/ Pourquoi ???
imagepng($image);
imagedestroy($image);
?>