Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2008, 16h06   #1
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 71
Points : 11
Points : 11
Par défaut generation d'image + couleur du texte

Bonjour,
j'aimerai générer plusieurs images à la volée.
En fait j'ai une image de fond et j'aimerai y intégrer un texte (qui change à chaque fois).
pour chaque texte correspond 3 images de fonds.

Donc, si j'ai 5 textes je génère 15 images.
Pour cela, j'ai utilisé une boucle.

Grâce à cela, j'arrive à générer mes images.
J'arrive également à régler la position du texte.

Par contre je n'arrive pas à définir la couleur du texte.
Pourtant j'utilise la fonction :
Code :
imagecolorallocate($image, "255", "255", "255");
Les couleurs du texte de mes images sont différentes pour chaque image alors qu'elles devraient être toutes blanches...Pour info, je ne sais pas si ça a de l'importance, mais mes images sont noires...

Quelqu'un peut m'aider?Merci!!
toine62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2008, 16h22   #2
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Salut,
on peut voir ton code ?
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2008, 16h43   #3
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 71
Points : 11
Points : 11
Fonction
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function generer($image, $fonte, $texte,  $fichier) {
 
		$image= imagecreatefrompng($image);
 
		$bb=imageftbbox(FONT_SIZE, 0, $fonte, $texte);
		$dx= abs($bb[4]-$bb[0]);
 
		$couleur = imagecolorexact($image, "255", "255", "255");
 
 
		if($dx>MAX_X) {
			list($texte1, $texte2)= couper($texte);
			$bb1=imageftbbox(FONT_SIZE, 0, $fonte, $texte1);
			$bb2=imageftbbox(FONT_SIZE, 0, $fonte, $texte2);
			$dx1= abs($bb1[4]-$bb1[0]);
			$dx2= abs($bb2[4]-$bb2[0]);
			$x1=X0-0.5*$dx1;
			$x2=X0-0.5*$dx2;
			imagefttext($image, FONT_SIZE, 0, $x1, Y1, $couleur, $fonte, $texte1);
			imagefttext($image, FONT_SIZE, 0, $x2, Y2, $couleur, $fonte, $texte2);
		} else {
			$x=X0-0.5*$dx;
			imagefttext($image, FONT_SIZE, 0, $x, Y0, $couleur, $fonte, $texte);
		}
		imagepng($image, $fichier);
		//imagedestroy($image);
}
Appel a la fonction
Code :
1
2
generer("$lienimage/bt_a_off.png", "$RSCDIR/comic.ttf",
		$repA, "$lienimage2/$idQuestion-a-n.png");
toine62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2008, 17h26   #4
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
T'utilises imagecolorexact() ou imagecolorallocate() ? car la première ne peut pas générer une couleur qui n'existe pas déjà dans l'image.
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2008, 17h53   #5
Candidat au titre de Membre du Club
 
Inscription : juillet 2006
Messages : 71
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 71
Points : 11
Points : 11
j'ai utilisé les deux...
avec imagecolorexact() , quand l'image est verte ou orange, cela fonctionne mais quand elle est noire ca ne marche pas.
avec imagecolorallocate(), ca me met des couleurs aléatoires (orange, bleu, marron, vert...)
toine62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2008, 18h08   #6
Membre Expert
 
Avatar de Djakisback
 
Inscription : février 2005
Messages : 1 797
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 1 797
Points : 1 688
Points : 1 688
Tu lui passes des strings alors qu'elle prend des int "255" => 255.
Mais ça devrait pas pour autant avoir un effet aléatoire il me semble.
Djakisback est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h12.


 
 
 
 
Partenaires

Hébergement Web