imageftbbox

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imageftbboxCalcule le rectangle d'encadrement pour un texte, en utilisant la police courante et freetype2

Description

imageftbbox(
    float$size,
    float$angle,
    string$font_filename,
    string$string,
    array$options = []
): array|false

imageftbbox() calcule le rectangle d'encadrement pour le texte text, en utilisant la police courante et freetype2.

Note:

Antérieur à PHP 8.0.0, imageftbbox() était une variante étendue de imagettfbbox() qui en plus supporte extrainfo. À partir de PHP 8.0.0, imagettfbbox() est un alias de imageftbbox().

Liste de paramètres

size

La taille de la police de caractères en point.

angle

Angle, en degrés, dans lequel le paramètre string sera mesuré.

font_filename

Le nom du fichier de la police TrueType (peut être une URL). 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.

string

La chaîne à mesurer.

options

Index possibles pour le tableau options
CléTypeSignification
linespacingfloatReprésente l'espacement entre les lignes lors du dessin

Valeurs de retour

imageftbbox() retourne un tableau contenant 8 éléments représentant les 4 points du rectangle entourant le texte :

0Coin en bas, à gauche, position en X
1Coin en bas, à gauche, position en Y
2Coin en bas, à droite, position en X
3Coin en bas, à droite, position en Y
4Coin en haut, à droite, position en X
5Coin en haut, à droite, position en Y
6Coin en haut, à gauche, position en X
7Coin en haut, à gauche, position en Y

Les points sont relatifs au texte suivant le paramètre angle, aussi, "en haut à gauche" signifie le coin en haut à gauche lorsque l'on regarde le texte horizontalement.

En cas d'échec, false est retourné.

Exemples

Exemple #1 Exemple avec imageftbbox()

<?php
// Création d'une image de 300x150 pixels
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Définit l'arrière-plan en blanc
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Chemin vers notre fichier de police
$font = './arial.ttf';

// D'abord, nous créons un rectangle contenant notre texte
$bbox = imageftbbox(10, 0, $font, 'The PHP Documentation Group');

// Nos coordonnées en X et en Y
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

imagefttext($im, 10, 0, $x, $y, $black, $font, 'The PHP Documentation Group');

// Affichage vers le navigateur
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notes

Note: Cette fonction n'est disponible que si si PHP est compilé avec le support Freetype (--with-freetype-dir=DIR)

Voir aussi

  • imagefttext() - Écrit du texte dans une image avec la police courante FreeType 2
  • imagettfbbox() - Retourne le rectangle entourant un texte et dessiné avec une police TrueType
To Top