imagettfbbox

(PHP 4, PHP 5, PHP 7)

imagettfbboxDevuelve la caja circundante de un texto usando fuentes TrueType

Descripción

imagettfbbox ( float $size , float $angle , string $fontfile , string $text ) : array

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

Parámetros

size

Tamaño de fuente.

Nota: En GD 1, se mide en píxels. En GD 2, se mide en puntos.

angle

El á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.

Valores devueltos

imagettfbbox() devuelve una matriz con 8 elementos que representan cuatro puntos que hacen la caja circundante del texto si se tiene éxtio, y FALSE si se produjo un error.

key contents
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 imagettfbbox()

<?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';

// Primero creamos nuestra caja circundante para nuestro primer texto
$bbox imagettfbbox(1045$fuente'Powered by PHP ' phpversion());

// Estas son nuestras coordenadas para X e Y
$x $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 25;
$y $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Escribirlo
imagettftext($im1045$x$y$negro$fuente'Powered by PHP ' phpversion());

// Crear la siguiente caja circundante para el segundo texto
$bbox imagettfbbox(1045$fuente'and Zend Engine ' zend_version());

// Establecer las coordenadas para que esté a continuación del primer texto
$x $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) + 10;
$y $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Escribirlo
imagettftext($im1045$x$y$negro$fuente'and Zend Engine ' zend_version());

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

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

Notas

Nota:

Esta función requiere tanto la biblioteca GD como la biblioteca » FreeType.

Ver también

  • imagettftext() - Escribir texto en la imagen usando fuentes TrueType