Problème avec GD

megatchuu Messages postés 3 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 25 avril 2009 - 23 avril 2009 à 18:07
megatchuu Messages postés 3 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 25 avril 2009 - 25 avril 2009 à 18:51
Bonjour,
Je me suis lancé dans un générateur d'avatar et je me sert donc de la librairie GD, cependant et avec quelques images seulement, j'obtiens un " L'image ne peut être affiché car elle contient des erreurs"

Voici le code source :

<?php
header("Content-type: image/png");
$avatar = imagecreatefrompng($_POST['image']); // L'avatar est la source
$image = imagecreatefrompng("cavatar.png"); // Le contour est la destination
$bas = imagecreatefrompng("bas.png"); // Le bas termine
$miniavatar = imagecreatetruecolor(140, 110); // On crée la miniature vide
$transpa = imagecolorallocate($image, 0, 255, 255);  // On déclare la couleur de transparance
imagecolortransparent($image, $transpa); // On rend transparant
$largeur_avatar = imagesx($avatar);
$hauteur_avatar = imagesy($avatar);
$largeur_image = imagesx($image);
$hauteur_image = imagesy($image);
$largeur_miniavatar = imagesx($miniavatar);
$hauteur_miniavatar = imagesy($miniavatar);
$largeur_bas = imagesx($bas);
$hauteur_bas = imagesy($bas);
$destination_x = 2;
$destination_y = 34;
imagecopyresampled($miniavatar, $avatar, 0, 0, 0, 0, $largeur_miniavatar, $hauteur_miniavatar, $largeur_avatar, $hauteur_avatar); // On miniaturise l'image de base
imagecopymerge($image, $miniavatar, $destination_x, $destination_y, 0, 0, $largeur_avatar, $hauteur_avatar, 100); // On copie l'image de sur le contour
imagecopymerge($image, $bas, 0, 137, 0, 0, $largeur_bas, $hauteur_bas, 100); // On rajoute le bas ( qui ne s'affiche pas sinon (bug)
imagepng($image); // On affiche l'image
?>

Merci de m'aider ;)

3 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
24 avril 2009 à 06:42
salut
vire cette ligne :
header("Content-type: image/png");

et met la juste avant imagepng($image);
ca te permettra probablement de voir une erreur de php, et donc de la corriger
0
megatchuu Messages postés 3 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 25 avril 2009
24 avril 2009 à 14:33
Bonjour,
il semblerai bien que le problème vienne de la puissance du script puisque certaines images marchent, et d'autres, plus volumineuse, non, cependant j'ai un dernier problème :

Mes membres voudront biensur afficher cet avatar, et j'utilise donc
imagepng($image), "avatars/avatar.png"); // On enregistre l'image

seulement ça m'enregistre $image mais... seulement au début, c'est a dire que j'ai juste le cadre et et le bas, mais pas le centre, comment y remedier ?
0
megatchuu Messages postés 3 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 25 avril 2009
25 avril 2009 à 18:51
Bonsoir,
En effet j'ai plusieurs erreurs mais je en sais pas comment les réparés :

Fatal error: imagecreatefrompng() [function.imagecreatefrompng]:
gd-png: fatal libpng error: IDAT: CRC error in /mnt/116/sdb/6/5/megatchu/eternia/imagepng.php on line 5

Fatal error: imagecreatefrompng() [function.imagecreatefrompng]:
gd-png: fatal libpng error: invalid distance too far back in /mnt/116/sdb/6/5/megatchu/eternia/imagepng.php on line 5

sont les deux princpales erreurs.
0
Rejoignez-nous