imagefttext

(PHP 4 >= 4.0.7, PHP 5)

imagefttextÉcrit du texte dans une image avec la police courante FreeType 2

Description

array imagefttext ( resource $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 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

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.

LoadingChargement en cours