imageftbbox

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

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
Clave Tipo Significado
linespacing float Define 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:

0 esquina inferior izquierda, posición X
1 esquina inferior izquierda, posición Y
2 esquina inferior derecha, posición X
3 esquina inferior derecha, posición Y
4 esquina superior derecha, posición X
5 esquina superior derecha, posición Y
6 esquina superior izquierda, posición X
7 esquina 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(300150);
$negro imagecolorallocate($im000);
$blanco imagecolorallocate($im255255255);

// Establecer el fondo a blanco
imagefilledrectangle($im00299299$blanco);

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

// Priemero creamos nuestra caja circundante
$bbox imageftbbox(100$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($im100$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 )