Problème pour créer une image PNG

Eléphant du PHP | 57 Messages

18 mars 2010, 14:25

Salut,

Je suis en train d'apprendre à créer des images PHP et j'ai un petit problème assez incompréhensible...

Ce code-ci marche parfaitement et m'affiche une superbe image jpg noire 200*50 :
<?php
header ("Content-type: image/jpeg");
$image = imagecreate(200,50);
imagejpeg($image);
?>
Alors que ce code-ci (où j'ai simplement remplacé les deux "jpeg" par "png") me renvoie ce message d'erreur :

L'image "http://127.0.0.1/tuto/images1.php" ne peut être affichée car elle contient des erreurs
<?php
header ("Content-type: image/png");
$image = imagecreate(200,50);
imagepng($image);
?>
Quelqu'un aurait-il une idée sur l'origine du problème ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

18 mars 2010, 15:10

Bonjour,

Quand tu as une erreur
L'image [...] ne peut être affichée car elle contient des erreurs
en général il faut retirer (ou mettre en commentaire) la ligne header() afin de voir le message d'erreur (souvent un message d'erreur PHP)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 57 Messages

18 mars 2010, 15:21

Je viens de voir le msg d'erreur sous IE en fait :

<b>Warning</b>: imagepng() [<a href='function.imagepng'>function.imagepng</a>]: gd-png error: no colors in palette in <b>C:\Program Files\EasyPHP-5.3.2\www\tuto\images1.php</b> on line <b>4</b><br />

Donc en gros si je défini une couleur ou si je remplace le imagecreate par imagecreatetruecolor ca marche :)

Merci !