(PHP 4 >= 4.0.7, PHP 5, PHP 7)
imagefttext — Écrit du texte dans une image avec la police courante FreeType 2
$image
, float $size
, float $angle
, int $x
, int $y
, int $color
, string $fontfile
, string $text
[, array $extrainfo
] )
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
et
y
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
et y
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
Clé | Type | Signification |
---|---|---|
linespacing | float | Définit l'espacement entre les lignes lors du dessin |
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 bas, à 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 |
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);
?>
Note: Cette fonction n'est disponible que si si PHP est compilé avec le support Freetype (--with-freetype-dir=DIR )