imagettftext

(PHP 4, PHP 5)

imagettftextDessine un texte avec une police TrueType

Description

array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )

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 : &#8364; ) 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 &copy;, 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(40030);

// Cr�ation de quelques couleurs
$white imagecolorallocate($im255255255);
$grey imagecolorallocate($im128128128);
$black imagecolorallocate($im000);
imagefilledrectangle($im0039929$white);

// Le texte � dessiner
$text 'Test...';
// Remplacez le chemin par votre propre chemin de police
$font 'arial.ttf';

// Ajout d'ombres au texte
imagettftext($im2001121$grey$font$text);

// Ajout du texte
imagettftext($im2001020$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