Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ECRIRE UN TEXTE DANS UNE POLICE SPÉCIFIQUE.


Information sur la source

Catégorie :Graphique Niveau : Débutant Date de création : 05/08/2004 Date de mise à jour : 05/08/2004 18:43:54 Vu : 5 659

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
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=Coucou 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... ^^

Commentaires et avis

signaler à un administrateur
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...

signaler à un administrateur
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.

signaler à un administrateur
Commentaire de Filipe35 le 18/10/2005 20:12:52

salut,

mais

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

pourquoi ?

merci

signaler à un administrateur
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

signaler à un administrateur
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

signaler à un administrateur
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 ^^

signaler à un administrateur
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 ;-)

signaler à un administrateur
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

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.