Copyright en footer d'images avec GD

olivier1378
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 22:07

Bonjour,

Je souhaite créer en footer de mes images une bande horizontale de couleur. Cette bande contiendra le nom de l'auteur de la photo, le copyright etc...

Comme ici par exemple : http://www.photos-de-navires.com/plugin ... php?lng=fr [/url](au passage un chouette site pour les amateurs de navires...)

Voici le code que j'ai rassemblé en cherchant par-ci, par là sur le Web (Site-du-Zero etc...)

Mais.. ça ne marche pas. En fait mes deux images ne fusionnent pas. La librairie GD est bien chargée. Merci de votre aide !

Code : Tout sélectionner

<?php header ("Content-type: image/png"); // L'image que l'on va créer est un jpeg // On charge d'abord les images $image = imagecreatefromjpeg("image.jpg"); // La photo à traiter qui sera au dessus // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur de l'image à traiter $largeur_source = imagesx($image); $hauteur_source = imagesy($image); //Je créé le fond sur lequel je vais poser l'image à traiter $fond=imagecreate($largeur_source,$hauteur_source+10); // Le fond coloré plus haut que l'image de 10px $bleu = imagecolorallocate($source, 0, 0, 255);//Le fond sera bleu // On met le l'image sur le fond imagecopymerge($fond, $image, 0, 0, 0, 0, $largeur_source, $hauteur_source, 100); ?>

Invité
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 22:31

petite erreur...
remplacer $source par $fond

Merci

olivier1378
Invité n'ayant pas de compte PHPfrance

26 mars 2012, 22:52

Voici le code qui marche mais je suis décu par la dégradation de l'image. Pourtabt j'ai mis 100 (donc aucune transparence) dans imagecopymerge

Code : Tout sélectionner

<?php // On charge d'abord les images $image = imagecreatefromjpeg("image.jpg"); // La photo à traiter qui sera au dessus // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur de l'image à traiter $largeur_source = imagesx($image); $hauteur_source = imagesy($image); //Je créé le fond sur lequel je vais poser l'image à traiter $fond=imagecreate($largeur_source,$hauteur_source+10); // Le fond coloré plus haut que l'image de 10px $bleu = imagecolorallocate($fond, 0, 0, 255);//Le fond sera bleu imagepng($fond, "fond.png"); // On met le l'image sur le fond imagecopymerge($fond, $image, 0, 0, 0, 0, $largeur_source, $hauteur_source,100 ); imagejpeg($fond, "gty.jpg"); echo '<img src="gty.jpg" />'; ?>

Eléphant du PHP | 70 Messages

13 avr. 2012, 23:36

Après maintes recherches, j'ai trouvé que GD dégradait les images. C'est pour cette raison que j'ai abandonné GD au profit de ImageMagick