(PHP 4, PHP 5)
imagettftext — Escribir un texto sobre la imagen usando fuentes TrueType
Escribe el texto dado en la imagen usando fuentes TrueType.
An image resource, returned by one of the image creation functions, such as imagecreatetruecolor().
El tamaño de la fuente. Dependiendo de su versión de GD, éste puede ser especificado como el tamaño en píxeles (GD1), o el tamaño en puntos (GD2)
El ángulo en grados, en donde 0 grados significa texto de lectura de izquierda-a-derecha. Valores más altos representan una rotación en sentido contrario al de las manecillas del reloj. Por ejemplo, un valor de 90 resulta en texto de lectura de abajo-hacia-arriba.
Las coordenadas dadas por x y y definirán el punto base del primer caracter (a grandes rasgos la esquina inferior izquierda del caracter). Esto a diferencia de imagestring(), en donde x y y definen la esquina superior izquierda del primer caracter. Por ejemplo, "arriba a la izquierda" es 0, 0.
La coordenada y. Ésta establece la posición de la línea base de las fuentes, no la parte más baja del caracter.
El índice de color. Usar un índice de color negativo tiene el efecto de deshabilitar el anti-alias. Vea imagecolorallocate()
La ruta a la fuente TrueType que desea usar.
Dependiendo de la versión de la biblioteca GD que usa PHP, cuando archivo_fuente no comienza con / entonces .ttf se añade al nombre de archivo y la biblioteca intentará buscar ese archivo a lo largo de una ruta de fuentes definida en la biblioteca.
Cuando se usan versiones de la biblioteca GD inferiores a 2.0.18, un caracter de espacio, en lugar de un punto-y-coma, era usado como el 'separador de ruta' para diferentes archivos de fuente. El uso no intencionado de esta característica resulta en el mensaje de advertencia: Warning: Could not find/open font. Para estas versiones afectadas, la única solución es mover la fuente a una ruta que no contenga espacios.
En muchos casos en los que una fuente reside en el mismo directorio que el script que la utiliza, el siguiente truco aliviará los problemas de inclusión.
<?php
// Definir la variable de entorno para GD
putenv('GDFONTPATH=' . realpath('.'));
// Nombre de la fuente a usar (note la falta de la extensión .ttf)
$fuente = 'AlgunaFuente';
?>
La cadena de texto en codificación UTF-8.
Puede incluir referencias numéricas de caracter (de la forma: €) para acceder a caracteres en una fuente más allá de la posición 127. El formato hexadecimal (como ©) es soportado a partir de PHP 5.2.0. Es posible pasar cadenas en codificación UTF-8 directamente.
Las entidades con nombre, como ©, no son soportadas. Considere usar html_entity_decode() para decodificar tales entidades a cadenas UTF-8 (html_entity_decode() soporta esta aplicación a partir de PHP 5.0.0).
Si un caracter que no es soportado por la fuente es usado en la cadena, un rectángulo vacío reemplazará al caracter.
Devuelve una matriz con 8 elementos que representan cuatro puntos que forman la caja circundante del texto. El orden de los puntos es inferior izquierdo, inferior derecho, superior derecho y superior izquierdo. Los puntos son relativos al texto independientemente del ángulo, así que "superior izquierdo" quiere decir la esquina del lado superior izquierdo cuando ve el texto horizontalmente.
Example#1 Ejemplo de imagettftext()
Este script de ejemplo producirá un PNG blanco de 400x30 pixeles, con las palabras "Probando..." en negro (con sombra gris), en la fuente Arial.
<?php
// Establecer el tipo de contenido
header("Content-type: image/png");
// Crear la imagen
$im = imagecreatetruecolor(400, 30);
// Crear algunos colores
$blanco = imagecolorallocate($im, 255, 255, 255);
$gris = imagecolorallocate($im, 128, 128, 128);
$negro = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $blanco);
// El texto a pintar
$texto = 'Probando...';
// Reemplaze la ruta con su propia ruta a la fuente
$fuente = 'arial.ttf';
// Agregar una sombra al texto
imagettftext($im, 20, 0, 11, 21, $gris, $fuente, $texto);
// Agregar el texto
imagettftext($im, 20, 0, 10, 20, $negro, $fuente, $texto);
// Usar imagepng() resulta en texto más claro, en comparación con imagejpeg()
imagepng($im);
imagedestroy($im);
?>
El resultado del ejemplo seria algo similar a:
Note: Esta función requiere tanto la biblioteca GD como la biblioteca » FreeType.