Fusion d'image avec GD

Eléphant du PHP | 331 Messages

11 mars 2009, 21:25

Bonjour,

je veux fusionner mes images de produits avec un beau cadre en png.

j'ai trouvé divers bout code sur ce sujet mais je n'arrive pas à les faire fonctionner.

En voici un simple mais qui me retourne toujour une erreur:
L'image “http://192.168.1.102/lamaisondubleuet/web/test.php” ne peut être affichée car elle contient des erreurs.
Voici le code:
   $stars = imagecreatefrompng("images/5.png");
  $gradient = imagecreatefrompng("images/cadre.png");
  imagecopymerge($stars, $gradient, 0, 0, 0, 0, 256, 256, 60);
  header('Content-type: image/png');
  imagepng($stars);
  imagedestroy($stars);
  imagedestroy($gradient);
Il ne disait pas comment afficher l'image final, j'ai présumé que ceci ferait:
echo '<img src="'.$stars.'" border="1" />';
Pouvez-vous m'aider svp?

Merci

Mammouth du PHP | 693 Messages

11 mars 2009, 22:17

Il ne faut pas utiliser les balises directement dans le fichier qui génère l'image. D'une part, tu as le fichier qui génère l'image, d'autre part, tu as la page HTML qui l'exploite, comme une image statique.

En faisant imagepng(), tu fais déjà l'affichage de l'image.

Il suffit maintenant, dans une autre page

Code : Tout sélectionner

<img src="'tonscript.php'" border="1" />
Et ton image devrait s'afficher

TU peux en plus ajouter un header dans ton script qui génère l'image pour spécifier le type de ton image
header('Content-type: image/png);

Eléphant du PHP | 331 Messages

11 mars 2009, 22:41

Huummm Merci mais jsuis gêner de devoir te dire que je n'ai pas réussi malgré que ça ai l'air simple à faire.

Alors dans une autre page j'ai mis:
<img src="test.php" border="1" />
Là j'obtien une image introuvable

Si je met :
<?php
//include("test.php");
?>
<img src="test.php" border="1" />
J'obtiens:
L'image “http://192.168.1.102/lamaisondubleuet/web/test.php” ne peut être affichée car elle contient des erreurs.
Si je fais bouton de droite de ma sourie, afficher l'image ....sur l'image brisé j'obtiens:
L'image “http://192.168.1.102/lamaisondubleuet/web/test.php” ne peut être affichée car elle contient des erreurs.
Pouvez-vous me guider encore svp?

Mammouth du PHP | 693 Messages

11 mars 2009, 23:13

Chez moi le code est fonctionnel.

Verifie que tu n'as rien devant ta balise php. Sinon, je vois pas trop...

Eléphant du PHP | 331 Messages

11 mars 2009, 23:18

Est-ce que je dois mettre une permission quelconque sur les fichiers?

Mammouth du PHP | 693 Messages

11 mars 2009, 23:21

Je dirais que le moteur php doit avoir les permissions pour lire les images. Mais logiquement, c'est le cas par défaut. Ce que je trouve bizare, c'est le message d'erreur.

Si tu tape l'adresse du script générant l'image directement, ca donne quoi ?

Eléphant du PHP | 331 Messages

11 mars 2009, 23:30

Là sa marche:

Mais je croyais qu'en utilisant un png à fond transpartent que je verrais tres bien l'image du dessous.

regarde le résultat:

http://www.lamaisondubleuet.com/test2.php

J'espérait voir complètemenbt le pot qui est l'image du dessous et les fruit au coin qui est l'image du dessus