Tom's Guide > Forum > Programmation > [PHP] affichage d'un texte sur une image.

[PHP] affichage d'un texte sur une image.

Forum Programmation : [PHP] affichage d'un texte sur une image.

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Salut,
Voila j'ai un probleme avec mon code:
Sur une image de "fond" (PDV, 800*600) je souhaiterais inserer 3 lettres dans un espace restreint de coordonnees (262->344px ; 39->68px) (cet espace est compose de 3 cases vierges 27*29 ... et il faudrait que j'arrive a faire rentrer une lettre par case)
Voici mon code, mais rien ne s'afficher a part: http //localhost/test.php
Soit PDV le nom de l'image de fond et "image" le nom de l'espace contenant les 3 cases

<?php
header ("Content-type: image/jpeg" );
$PDV = imagecreatefromjpeg("PDV.jpg" );
//image de "fond
$noir = imagecolorallocate($PDV, 0, 0, 0);
$width_image = 82;
$height_image = 29;
$width_image_wo_margins = $width_image - (2 * 4);
// 4px de marge
$height_image_wo_margins = $height_image - (2 * 4);
$font_size = 33;
putenv('GDFONTPATH=C:\WINDOWS\Fonts');
$fontname = 'Arial';
do
{
$font_size--;

//determination de la taille du texte pour cette taille de police
$bbox=imagettfbbox ($font_size, 0, $fontname, "A B C" );//les lettre a inserer
$right_text = $bbox[2];//coord-droite
$left_text = $bbox[0];//coord-gauche
$width_text = $right_text - $left_text;//largeur?
$height_text = abs($bbox[7] - $bbox[1]);// hauteur?
}
while ( $font_size>8 &&
($height_text>$height_image_wo_margins ||
$width_text>$width_image_wo_margins )
);
$bbox=imagettfbbox ($font_size, 0, $fontname, "A B C" );


//determination de la position du texte
$text_x = $width_image/2.0 - $width_text/2.0;
$text_y = $height_image/2.0 - $height_text/2.0;
if ($left_text < 0)
$text_x += abs($left_text);
// + facteur surplomb gauche
$above_line_text = abs($bbox[7]);
$text_y += $above_line_text;
// + facteur ligne de base
imagettftext($PDV, $font_size, 0, $text_x, $text_y, $noir, "Arial.ttf", "A B C" );
imagejpeg($PDV);
imagedestroy($PDV);
?>


Si vous pouviez m'aider,
Merci d'avance

PS: en gros voila ce que je veux faire AVEC php.
de la http://img361.imageshack.us/img361/9461/85530598rc2.jpg à la ----> http://img373.imageshack.us/img373/1502/73300641zk2.jpg


Message édité par flyer_999 le 10-07-2007 à 17:28:55
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

j'y connais pas garnd chose, mais je sais que sur le site du zéro il y a un bon tuto.

Bonne chance

http://www.siteduzero.com/tuto-3-1 [...] #ss_part_3

------------------------------ Je suis con, mais quand je vois ce que les gens intelligents ont fait du monde....
Répondre à mr_keyser

Salut,
Oui merci... mais cependant ils ne parlent pas de coordonnees...
si qq'un a une idee...... merci

Répondre à flyer_999

la meilleure solution selon moi est que tu transforme la zone à déplacer en bloc via la commande css du genre (avec un id = "handle" ) : #handle {display : block; position : absolute; width: ce que tu veux; height: ce que tu veux}

 

bref, joue avec le fait que tu aie la possibilité de placer ce que tu veux où tu veux de manière fixe ou variable dès le moment ou tu as affaire à un bloc. Si tu n'a pas de bloc tu peux toujours convertir ce que tu veux en bloc (cf code que j'ai donné).

 

en espérant que ça réponde ne serait-ce qu'un peu à ton problème.


Message édité par Mastaking le 10-07-2007 à 18:40:51
Répondre à Mastaking
Tom's Guide > Forum > Programmation > [PHP] affichage d'un texte sur une image.
Aller à :

Il y a 1020 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens