imagettftext
(PHP 4, PHP 5)
imagettftext — Dessine un texte avec une police TrueType
Description
imagettftext() dessine le texte text avec la police TrueType fontfile .
Liste de param�tres
- image
-
Une ressource d'image, retourn� par une des fonctions de cr�ation d'images, comme imagecreatetruecolor().
- size
-
La taille de la police. En fonction de la version de votre biblioth�que GD, elle doit �tre sp�cifi�e en pixels (GD1) ou en points (GD2).
- angle
-
L'angle, en degr�s ; 0 degr� correspond � la lecture du texte de gauche � droite. Les valeurs positives repr�sentent une rotation dans le sens contraire des aiguilles d'une montre. Par exemple, une valeur de 90 correspondra � une lecture du texte de bas en haut.
- x
-
Les coordonn�es donn�es par x et y d�finiront la position du premier caract�re (le coin bas-gauche du caract�re). Cela est diff�rent de la fonction imagestring(), o� x et y d�finissent le coin haut-gauche du premier caract�re. Par exemple, "haut gauche" correspond � 0, 0.
- y
-
L'ordonn�e Y. Cela d�finit la position de la ligne de base de la police, et non pas le bas des caract�res.
- color
-
L'index de la couleur. Utiliser un index de couleur n�gatif d�sactivera l'antialiasing. Voir la fonction imagecolorallocate().
- fontfile
-
Le chemin vers la police TrueType que vous souhaitez utiliser.
D�pendant de la version de la biblioth�que GD utilis�e par PHP, lorsque fontfile ne commence pas par un caract�re / alors .ttf sera ajout� au nom du fichier et la biblioth�que recherchera ce nom de fichier dans les dossiers de police, d�finis par la biblioth�que.
Lorsque vous utilisez une version de la biblioth�que GD inf�rieure � 2.0.18, un caract�re espace, plut�t qu'un point-virgule, est utilis� pour d�finir des chemins alternatifs pour les fichiers de police. Si vous utilisez involontairement cette fonctionnalit�, vous aurez ce message d'erreur : Warning: Could not find/open font. Pour ces versions affect�es, la seule solution est de d�plac�e la police � un endroit qui ne contient pas d'espaces dans les noms de dossier.
Dans le cas fr�quent o� une police r�side dans le m�me dossier que le script l'utilisant, l'astuce suivante vous �pargnera tous les probl�mes.
<?php
// D�finition de la variable d'environnement pour GD
putenv('GDFONTPATH=' . realpath('.'));
// Nom de la police � utiliser (notez l'absence de l'extension .ttf)
$font = 'SomeFont';
?> - text
-
La cha�ne de texte, en UTF-8.
Peut inclure des r�f�rences � des caract�res num�riques, d�cimales (sous la forme : € ) pour acc�der aux caract�res d'une police au del� du premier 127. Les cha�nes de caract�res encod�es en UTF-8 peuvent �tre pass�es directement.
Les entit�s nomm�es, comme ©, ne sont pas support�es. Utilisez la fonction html_entity_decode() pour encoder ces entit�s nomm�es en cha�ne UTF-8 (la fonction html_entity_decode() supporte ceci depuis PHP 5.0.0.).
Si un caract�re est utilis� dans une cha�ne qui n'est pas support�e par la police, un rectangle creux remplacera le caract�re.
Valeurs de retour
Retourne un tableau de 8 �l�ments repr�sentant quatre points marquants les limites du texte. L'ordre des points est : inf�rieur gauche, inf�rieur droit, sup�rieur droit, sup�rieur gauche. Les points sont relatifs au texte par rapport � l'angle, donc, "sup�rieur gauche" signifie dans le coin en haut � gauche lorsque vous regardez le texte horizontalement.
Historique
Version | Description |
---|---|
5.2.0 | Il est maintenant possible de sp�cifier une entit�e hexad�cimal dans text . |
Exemples
Exemple #1 Exemple avec imagettftext()
Cet exemple produira une image PNG blanche de 400x30 pixels, avec le texte "Test..." en noir, avec une ombre grise, utilisant la police Arial.
<?php
// D�finition du content-type
header('Content-type: image/png');
// Cr�ation de l'image
$im = imagecreatetruecolor(400, 30);
// Cr�ation de quelques couleurs
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// Le texte � dessiner
$text = 'Test...';
// Remplacez le chemin par votre propre chemin de police
$font = 'arial.ttf';
// Ajout d'ombres au texte
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Ajout du texte
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Utiliser imagepng() donnera un texte plus claire,
// compar� � l'utilisation de la fonction imagejpeg()
imagepng($im);
imagedestroy($im);
?>
L'exemple ci-dessus va afficher quelque chose de similaire � :
Notes
Note: Cette fonction requiert la biblioth�que GD ainsi que la biblioth�que » FreeType.
Voir aussi
- imagettfbbox() - Retourne le rectangle entourant un texte et dessin� avec une police TrueType