Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1402 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP Centrer du texte dans une image GD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP Centrer du texte dans une image GD

n°1303536
zeo34
Posté le 11-02-2006 à 18:44:47  profilanswer
 

Salut @ tous et toutes,
Voilà un script qui permet de centrer du texte dans une image générée avec la librairie GD de PHP ... S'il y a une solution plus rapide ou mieux optimisée, je suis preneur aussi  :D  
 

Citation :


// Création de l'image
$fichierImage = imagecreatetruecolor(350, 400);
 
// Texte à afficher
$policeTitre = 4; // C'est moi la plus grande police ! Nananère !!
$police = 2; // Cherche pas à comprendre ! Moi j'ai compris ! Parce ce que je suis trop fort !! Capiche!!
 
// Fonction pour déterminer le centrage de la chaine de caractères (elle prend comme paramètre : la chaine et la police d'écriture
function centrage_texte($z,$y)
 {
  // Je calcule le nombre de caractères dans la chaine
  $a = strlen($z);
  // Je calcule la taille d'un caractère par rapport à la taille de la police
  $b = imagefontwidth($y);
  // Je calcule la taille de ma chaine de caractères  
  $c = $a*$b;
  // Je calcule combien il me reste de caractères/espace sur les côtés pour centrer mon texte
  $d = 350-$c;
  // Je recherche l'emplacement où débutera ma chaine de caractères
  $e = $d/2;  
  // La chaine commencera ... à cet emplacement  
  return $e;  
 }
 
// Couleurs
$couleurFond = imagecolorallocate($fichierImage,255,0,0); // C'est du rouge !
$couleurTexte = imagecolorallocate($fichierImage,0,0,0 ); // C'est du noir !
 
// Création d'un rectangle
imagefilledrectangle($fichierImage, 0, 0,350,400,$couleurFond);
 
// Textes à centrer
$texte1 = "TITRE";
$texte2 = "Je suis un texte centré";
 
// Insertion des textes + utilisation de la fonction pour centrer
imagestring($fichierImage,$policeTitre,centrage_texte($texte1,$policeTitre),10,$texte1,$couleurTexte);
imagestring($fichierImage,$police,centrage_texte($texte2,$police),100,$texte2,$couleurTexte);  
 
// Type de l'image
header("Content-type: image/jpeg" );
 
// Expédition de l'image au navigateur
imagejpeg($fichierImage);
 
// Destruction de l'image
imagedestroy($fichierImage);  


 
Cordialement,
Zeo


Message édité par zeo34 le 11-02-2006 à 18:45:09
mood
Publicité
Posté le 11-02-2006 à 18:44:47  profilanswer
 

n°1303540
afbilou
pouet your life
Posté le 11-02-2006 à 19:04:39  profilanswer
 

Tu peux également utiliser imagettfbbox pour connaitre les dimensions de ton texte.
Si tu n'utilises pas une police ttf il existe l'equivalent pour les autres formats de police.


Message édité par afbilou le 11-02-2006 à 19:07:11
n°1303546
zeo34
Posté le 11-02-2006 à 19:20:21  profilanswer
 

Salut,
Merci de ton conseil mais j'ai concu ce script ca je ne voulais pas utiliser la fonction "imagettfbbox" !
@plus

n°1303548
afbilou
pouet your life
Posté le 11-02-2006 à 19:28:37  profilanswer
 

image*bbox n'a pas pour but de remplacer ton script ... mais juste la ligne "$b = imagefontwidth($y);"  :??:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP Centrer du texte dans une image GD

 

Sujets relatifs
Javascript VS Phpafficher une image dans un JPanel imbriqué
[PHP] script de loginMettre une image en fond
[PHP/PDF] Détecter qu'un PDF est protégé[PHP] CMS pour site d'un goupe de rock
Client-serveur avec socket en C (client) vers PHP (serveur)pb comportement de <input type="image">
Pb de compilation (traitement d'image)Capture d'une image par webcam en C puis traitement de cette image
Plus de sujets relatifs à : [PHP Centrer du texte dans une image GD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR