imagefttext
(PHP 4 >= 4.0.7, PHP 5)
imagefttext — Écrit du texte dans une image avec la police courante FreeType 2
Description
$image
, float $size
, float $angle
, int $x
, int $y
, int $color
, string $fontfile
, string $text
[, array $extrainfo
] )Liste de paramètres
-
image
-
Une ressource d'image, retournée par une des fonctions de création d'images, comme imagecreatetruecolor().
-
size
-
La taille de la police à utiliser, en nombre de points.
-
angle
-
L'angle, en degrés ; 0 degré pour une lecture du texte de gauche à droite. Les grandes valeurs représentent une rotation dans le sens des aiguilles d'une montre. Par exemple, une valeur de 90 aura pour effet de lire le texte du bas vers le haut.
-
x
-
Les coordonnées, fournies par
x
ety
définissent le point de départ du premier caractère (et plus précisément, le coin en bas à gauche du caractère). C'est un comportement différent de la fonction imagestring(), oùx
ety
définissent le coin en haut, à gauche du premier caractère. Par exemple, en haut à gauche vaut 0, 0. -
y
-
L'ordonnée y-ordinate. Ce paramètre configure la position de base de la police, et non pas le bas de cette dernière.
-
color
-
L'index de la couleur désirée pour le texte, voir la fonction imagecolorexact().
-
fontfile
-
Le chemin vers la police TrueType à utiliser.
Suivant la version de GD utilisée par PHP, il sera recherché les fichiers qui ne commencent pas par un '/', en y ajoutant l'extension '.ttf', et suivant le chemin des polices défini par la bibliothèque.
Lors de l'utilisation d'une version de GD inférieure à 2.0.18, un caractère d'espacement (plutôt qu'un point-virgule) était utilisé comment séparateur dans le chemin pour les différents fichiers de police. Si vous utilisez toujours cette notation, vous obtiendrez le message d'erreur suivant : Warning: Could not find/open font. Pour ces anciennes versions, la seule solution est de déplacer la police dans un dossier qui ne contient pas d'espace.
Dans la plupart des cas, lorsque la police se trouve dans le même dossier que le script qui cherche à l'utiliser, la solution suivante permet de s'affranchir de tous les problèmes relatifs à l'inclusion.
<?php // Définit la variable d'environnement pour GD putenv('GDFONTPATH=' . realpath('.')); // Nom de la police à utiliser (note qu'il n'y a pas d'extension .ttf) $font = 'SomeFont'; ?>
-
text
-
Le texte à insérer dans l'image.
-
extrainfo
-
Indexes possibles pour le tableau extrainfo
Clé Type Signification linespacing float Définit l'espacement entre les lignes lors du dessin
Valeurs de retour
Cette fonction retourne un tableau définissant les 4 points d'une boîte, en commençant par le coin en bas, à gauche, puis, les suivants, dans le sens des aiguilles d'une montre :
0 | x : coordonnée en bas, à gauche |
1 | y : coordonnée en bas, à gauche |
2 | x : coordonnée en haut, à droite |
3 | y : coordonnée en bas, à droite |
4 | x : coordonnée en haut, à droite |
5 | y : coordonnée en haut, à droite |
6 | x : coordonnée en haut, à gauche |
7 | y : coordonnée en haut, à gauche |
Exemples
Exemple #1 Exemple avec imagefttext()
<?php // Création d'une image de 300x100 pixels $im = imagecreatetruecolor(300, 100); $red = imagecolorallocate($im, 0xFF, 0x00, 0x00); $black = imagecolorallocate($im, 0x00, 0x00, 0x00); // Définit l'arrière-plan en rouge imagefilledrectangle($im, 0, 0, 299, 99, $red); // Chemin vers notre fichier de police ttf $font_file = './arial.ttf'; // Dessine le texte 'PHP Manual' en utilisant une police de taille 13 imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual'); // Affichage de l'image sur le navigateur header('Content-Type: image/png'); imagepng($im); imagedestroy($im); ?>
Notes
Note: Cette fonction requiert la bibliothèque GD 2.0.1 ou supérieure (2.0.28 ou supérieure est recommandée).
Note: Cette fonction n'est disponible que si si PHP est compilé avec le support Freetype (--with-freetype-dir=DIR )
Historique
Version | Description |
---|---|
4.3.5 |
Le paramètre extrainfo est devenu optionnel.
|