imageftbbox

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

imageftbboxDevolver la caja circundante de un texto usando fuentes mediante FreeType 2

Descripción

imageftbbox(
    float$size,
    float$angle,
    string$fontfile,
    string$text,
    array$extrainfo = ?
): array

Esta función calcula y devuelve la caja circundante en píxeles de un texto FreeType.

Parámetros

size

Tamaño de fuente en puntos.

angle

Ángulo en grados en el que text será medido.

fontfile

El nombre de un archivo de fuente TrueType (puede ser una URL). Dependiendo de la versión de la biblioteca GD que esté usando PHP, se intentará buscar archivos que no comiencen con '/' añadiendo '.ttf' al nombre de archivo y buscando en una ruta de biblioteca definida de fuentes.

text

La cadena que va a ser medida.

extrainfo

Posibles índeces de matriz para extrainfo
ClaveTipoSignificado
linespacingfloatDefine el espacio entre líneas

Valores devueltos

imageftbbox() devuelve una matriz con 8 elementos que representan cuatro puntos que hacen la caja circundante del texto:

0esquina inferior izquierda, posición X
1esquina inferior izquierda, posición Y
2esquina inferior derecha, posición X
3esquina inferior derecha, posición Y
4esquina superior derecha, posición X
5esquina superior derecha, posición Y
6esquina superior izquierda, posición X
7esquina superior izquierda posición Y

Los puntos son relativos a text sin importar el ángulo angle, por lo que "superior izquierda" significa la esquina superior izquierda, viendo el texto horizontalmente.

Ejemplos

Ejemplo #1 Ejemplo de imageftbbox()

<?php
// Crear una imagen de 300x150
$im = imagecreatetruecolor(300, 150);
$negro = imagecolorallocate($im, 0, 0, 0);
$blanco = imagecolorallocate($im, 255, 255, 255);

// Establecer el fondo a blanco
imagefilledrectangle($im, 0, 0, 299, 299, $blanco);

// Ruta de nuestro archivo de fuente
$fuente = './arial.ttf';

// Priemero creamos nuestra caja circundante
$bbox = imageftbbox(10, 0, $fuente, 'The PHP Documentation Group');

// Estas son nuestras coordenadas para X e 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, $negro, $fuente, 'The PHP Documentation Group');

// Imprimir al navegador
header('Content-Type: image/png');

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

Notas

Nota: Esta función sólo está disponible si PHP fue compilado con suporte de freetype (--with-freetype-dir=DIR)

To Top