8792 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,

C'est mon premier post sur le forum, donc j'en profite pour me présenter : seb, développeur web php/ezPublish principalement.

Je suis actuellement en train de tester GD pour génerer des titres, le but étant d'utiliser, pour ces titres, une police que l'utilisateur n'a pas sur son pc.
Jusque là tout va bien, je part d'une image de fond, et j'ajoute du texte par dessus à partir d'une police TTF, voici le code :

$fond = imagecreatefrompng("fond_titre.png"); 

$largeur = 275; 
$hauteur = 33; 
$image = ImageCreate($largeur, $hauteur); 
ImageCopy($image, $fond, 0, 0, 0, 0, $largeur, $hauteur); 
ImageDestroy($fond); 
$texte=$_GET[texte];
$fontes = array("AVGARDN.TTF"); 
$rnd = rand(0, count($fontes)-1); 
$police = $fontes[$rnd]; 

$couleurTexte = imagecolorallocate($image, 248,205,85);
ImageTTFText($image, 15, 0, 8, 17, $couleurTexte, $police, $texte); 

header("Content-type: image/png"); 
imagepng($image); 
imagedestroy($image); 


Voici la page en question : http://www.mairie-ogliastru.com/fr/viewssrub.php?id=3

Le problème que je rencontre, c'est que mon image de fond n'apparait pas de la même couleur sous ie et sous FF, ce qui est connu de tous.

Donc je voulais savoir quelle solution adopter, j'ai essayé de passer un fond transparent (png 8), mais ca ne marche pas. J'ai aussi essayé TweakPNG, mais la couche Gama n'apparait pas dans la liste...

Merci d'avance!
Bonjour seb,

Ton problème est très spécifique, et je ne suis pas sûr qu'il passe dans les parages quelqu'un capable de te répondre.
Si la fonctionnalité que tu essaie est intégrée à ezPublish, je suppose que tu devrais pouvoir trouver de l'aide sur les forums de ce CMS. Sinon, il faudra sûrement chercher du côté de la doc de GD et/ou d'un forum consacré à GD, s'il en existe...

Mais qui sait, tu auras peut-être de la chance ici même. Smiley smile

PS : je déplace dans le salon Standards web et langages serveurs, faute de salon plus spécifique...
Bonjour,

Non, je ne fait pas cela dans le cadre d'un ezpublish mais dans du php classique.

Pour info j'ai un peu améliorer mon truc mais c'est pas encore ca : http://www.mairie-ogliastru.com/seb.php

à gauche nous avons l'image finale, on voit des bavures oranges, et à droite j'ai mis l'image de fond de départ sur laquelle j'ajoute le texte.

$fond = imagecreatefrompng("testseb/fond_titre3.png"); 
$largeur = 275; 
$hauteur = 33; 
$image = ImageCreate($largeur, $hauteur); 
$orange = imagecolorallocate($image, 255, 128, 0); // Le fond est orange (car c'est la première couleur)

ImageCopy($image, $fond, 0, 0, 0, 0, $largeur, $hauteur); 
ImageDestroy($fond); 
 
$texte="ahahah";
$fontes = array("AVGARDN.TTF"); 
$rnd = rand(0, count($fontes)-1); 
$police = $fontes[$rnd]; 

$couleurTexte = imagecolorallocate($image, 248,205,85);
ImageTTFText($image, 15, 0, 8, 17, $couleurTexte, $police, $texte); 
imagecolortransparent($image, $orange); // On rend le fond orange transparent
header("Content-type: image/png"); 
imagepng($image); 
imagedestroy($image); 


Je met le code au cas où...