begin process at 2012 02 15 09:52:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > ECRIRE UN TEXTE DANS UNE POLICE SPÉCIFIQUE.

ECRIRE UN TEXTE DANS UNE POLICE SPÉCIFIQUE.


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Graphique Niveau :Débutant Date de création :05/08/2004 Date de mise à jour :05/08/2004 18:43:54 Vu :9 773

Auteur : Zacland

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Tout le monde sait que c'est la police du client qui est utilisée pour l'affichage des textes.

Pour faire des titres qui sortent de l'ordinaire, il faut faire une image, la télécharger etc... pas pratique si on a des titres qui changes en fonction du contenu d'une base de données par exemple...

Ci dessous, un petit bout de source très simple qui vous permet d'utiliser une police au format ttf qui se trouve dans le même répertoire que fichier php.

Le source est assez simple et parle de lui même, pensez juste à changer le nom de la police par celle que vous avez choisi.

On peut sûrement améliorer le source pour qu'il gère un mode transparent pour ne pas cacher le background, ajouter le choix de la couleur etc ...

Ce ci utilise la GD conventionnelle et marche entre autre chez free ^^


Utilisation:

http://www.monsiteamoi.com/mapage.php?text=Couco u il fait beau&size=20

text est le texte à convertir et size la taille d'affichage

/!\ N'oubliez pas de recopier la police TTF dans le même répertoire et de changer le nom dans le source, sinon, vous aurez une belle erreur qui ne correspond pas au problème, notament qui vous dit qu'il y a un problème avec "imagettfbbox" alors que ce n'est pas vrai ...

Source

  • <?
  • if(!isset($_GET['text'])) $text = "y'a pas de texte !!!"; else $text = $_GET['text'];
  • if(!isset($_GET['size'])) $s = 11; else $s = $_GET['size'];
  • $font = "./vamp.ttf"; // a remplacer par votre police
  • $size = imagettfbbox($s,0,$font,$text);
  • $dx = abs($size[2]-$size[0]);
  • $dy = abs($size[5]-$size[3]);
  • $xpad=9;
  • $ypad=9;
  • $im = imagecreate($dx+$xpad,$dy+$ypad);
  • $white = ImageColorAllocate($im, 255,255,255);
  • $black = ImageColorAllocate($im, 0,0,0);
  • ImageTTFText($im, $s, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $black, $font, $text);
  • Header("Content-type: image/png");
  • ImagePNG($im);
  • ImageDestroy($im);
  • ?>
<?
    if(!isset($_GET['text'])) $text = "y'a pas de texte !!!"; else $text = $_GET['text'];
    if(!isset($_GET['size'])) $s = 11; else $s = $_GET['size'];

    $font = "./vamp.ttf"; // a remplacer par votre police
    $size = imagettfbbox($s,0,$font,$text);
    $dx = abs($size[2]-$size[0]);
    $dy = abs($size[5]-$size[3]);
    $xpad=9;
    $ypad=9;
    $im = imagecreate($dx+$xpad,$dy+$ypad);

    $white = ImageColorAllocate($im, 255,255,255);
    $black = ImageColorAllocate($im, 0,0,0);
    ImageTTFText($im, $s, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $black, $font, $text);

    Header("Content-type: image/png");
    ImagePNG($im);
    ImageDestroy($im);
?>

 Conclusion

Ben pas d'annotations particulières.

Si vous faites des évolutions, postez-les pour en faire profiter tout le monde ^^


 Historique

05 août 2004 18:43:54 :
Rajout du mode de fonctionnement... ^^

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

Commentaires et avis

Commentaire de chapodepay le 19/12/2004 06:52:58

tien kikou
pendant ke je te tien, tu aurai d'autre ttf a me refiler?
tu sai ou me joindre...

Commentaire de Zacland le 20/12/2004 09:16:24

Lol, je ne vois pas qui tu es, mais sachez tous qu'il y a plein de sites où l'on peut trouver pleins de fontes.

Celui que j'utilise entre autre est:

http://www.1001fonts.com

^^

P.S.: Attention aux polices qui ne sont pas libres de droits.

Commentaire de Filipe35 le 18/10/2005 20:12:52

salut,

mais

#     $xpad=9;
#     $ypad=9;

pourquoi ?

merci

Commentaire de Zacland le 19/10/2005 08:53:53

Heuuu, bonne question...

Comme ça, de tête, je suppose que c'est une sorte de padding, style, un cadre tout autour du text ,histoire qu'il ne soit pas trop collé à ce qui l'entoure...dans ce cas, je suppose qu'il met un contour de 4.5 px tout autour du texte ...

J'ai bon ?

C'est bien ça ? :p

Commentaire de givit le 06/09/2007 08:50:12

Bonjour,

Je n'ai pas du tout compris la manipulation.

J'ai mis à la racine du site le fichier TTF de ma police, puis j'ai créé un fichier font.php contenant le script que vous donnez et en ayant pris soin de modifier le chemin du TTF, mais après pour le changement de la police dans une page PHP là je ne comprends pas comment je dois faire...

Pourriez-vous m'éclairer s'il vous plait ?

Est-ce que c'est dans la balise "font" que sa se passe ?

Merci d'avance

Commentaire de Zacland le 06/09/2007 16:40:28

Bonjour,

Il est vrai que l'exemple n'est pas très explicite:

Il y a  façons de faire un test:

- Soit on appelle le fichier php directement avec les paramètres qui vont bien style :

http://www.monsiteamoi.com/mapage.php?text=Coucou il fait beau&size=20

- Soit on l'intègre dans une balise <IMG> style :

<IMG>mapage.php?text=Coucou il fait beau&size=20</IMG>

Pour répondre à la question, aucun rapport avec la balise <FONT> qui n'intervient pas là dedans...

J'espère que les explications sont claires ^^

Commentaire de givit le 06/09/2007 18:38:47

Merci Zacland pour ta réponse rapide.

Alors pour celles et ceux qui comme moi cherchaient comment l'intégrer voilà un petit exemple :

<img src="font.php?text=1er juin 2007&size=9">

Mais comme tu l'as dit précédement Zacland, il n'est pas transparent... ce qui est dommage. Surtout pour moi. Ton sytème est très bien, mais il n'y aurait vraiment pas moyen d'utiliser la police d'un fichier TTF se trouvant sur le site pour la rédaction d'une page ?

Encore merci pour tout Zacland ;-)

Commentaire de Zacland le 12/09/2007 12:02:23

Givitiiiiiii !!!

Si la fonte est dans le même répertoire que le fichier font.php, il n'y a aucun problème, ça fonctionne, c'est le but de la manoeuvre ^^

Pour le "il n'est pas transparent", je pense qu'il n'y a pas grand chose à faire... Me semble que je m'étais penché sur le problème à un moment, il fallait changer de fonction... Je regarderais quand je trouverais un peu de temps :p

Commentaire de tenev911 le 19/04/2009 21:11:57

Bonjour,
Je sais que ce fichier est vieux mais il m'a aidé. Je tiens juste a signaler que pour la transparence vous pouvez inserer la ligne suivante :

imagecolortransparent($im, $white);

Juste avant :

ImageTTFText($im, $s, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $black, $font, $text);

L'image crée est blanche, cette ligne va considerer le blanc qu'il y a en transparent, le texte va se poser dessus. J'espère que cela vous aura aidé. Bonne continuation

Commentaire de Zacland le 20/04/2009 10:36:46

Merci Tenev911, je pense que ça va bien servir. Je n'ai pas testé, mais je te fais confiance ;)

Commentaire de trmaher le 05/05/2009 03:29:47

bonsoir,

je ne sais pas pourquoi le script ne prend pas en considération mon fichier tiff.

en fait il m'affiche, toujours qlq soit le fichier true type (dizaine), un * (étoile) noire.

aider moi s'il vous plais.
merci d'avance.

Commentaire de trmaher le 05/05/2009 03:48:02

re bonsoir;

bon, le problème de l'étoile est résolut, mais encore le script ne réagit plus avec le fichier ttf.

en plus il n'affiche rien mème si je ne passe rien comme paramètre.

en fait y a t-il de configuration pour php/apache ...

php 5.2.0 et apache 2.2.3

Merci bien de m'aider, j'en ai besoin

Commentaire de Keneyda le 11/08/2009 13:26:35

top !!!

Commentaire de Dav_c le 11/05/2010 02:45:40

THANK YOU DUDE

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales