imagettftext
(PHP 4, PHP 5, PHP 7)
imagettftext — Dessine un texte avec une police TrueType
Description
$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ée par une des fonctions de création d'images, comme imagecreatetruecolor().
-
size
-
La taille de la police de caractères en point.
-
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
ety
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
ety
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 d'accès à la police TrueType que vous souhaitez utiliser.
Selon la version de la bibliothèque GD que PHP utilise, quand
fontfile
ne commence pas par une premier / alors .ttf sera ajouté au nom de fichier et la bibliothèque essaiera de rechercher ce nom de fichier le long d'un chemin de police défini par la bibliothèque.Lorsque vous utilisez des versions de la bibliothèque GD inférieure à 2.0.18, un caractère espace, plutôt qu'un point-virgule, a été utilisé comme séparateur de chemin d'accès pour différents fichiers de police. L'utilisation involontaire de cette fonctionnalité se traduira par le message d'avertissement: Avertissement: impossible de trouver/ouvrir la police. Pour ces versions affectées, la seule solution consiste à déplacer la police vers un chemin qui ne contient pas d'espaces.
Dans de nombreux cas où une police réside dans le même répertoire que le script en l'utilisant l'astuce suivante permettra d'atténuer les problèmes d'inclusion.
<?php
// Définir la variable d'environnement pour GD
putenv('GDFONTPATH=' . realpath('.'));
// Nommez la police à utiliser (Notez l'absence de l'extension .ttf)
$font = 'SomeFont';
?>Note:
Notez que open_basedir ne s'applique pas à
fontfile
. -
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.
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.
Retourne FALSE
si une erreur survient.
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 n'est disponible que si si PHP est compilé avec le support Freetype (--with-freetype-dir=DIR )
Voir aussi
- imagettfbbox() - Retourne le rectangle entourant un texte et dessiné avec une police TrueType
- imagefttext() - Écrit du texte dans une image avec la police courante FreeType 2
Version en cache
22/11/2024 11:03:00 Cette version de la page est en cache (à la date du 22/11/2024 11:03:00) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-imagettftext.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.