(PHP 4, PHP 5)
imagettfbbox — Devuelve la caja circundante de un texto usando fuentes TrueType
Esta función calcula y devuelve la caja circundante en píxeles de un texto TrueType.
El tamaño de la fuente. Dependiendo de la versión de GD, esto podría estar especificado como el tamaño del píxel (GD1) o el tamaño del punto (GD2).
El ángulo en grados en el que text será medido.
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.
La cadena que va a ser medida.
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.
Example #1 Ejemplo de imagettfbbox()
<?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';
// Primero creamos nuestra caja circundante para nuestro primer texto
$bbox = imagettfbbox(10, 45, $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($im, 10, 45, $x, $y, $negro, $fuente, 'Powered by PHP ' . phpversion());
// Crear la siguiente caja circundante para el segundo texto
$bbox = imagettfbbox(10, 45, $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($im, 10, 45, $x, $y, $negro, $fuente, 'and Zend Engine ' . zend_version());
// Imprimir al navegador
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>
Note:
Esta función requiere tanto la biblioteca GD como la biblioteca » FreeType.