(PHP 4 >= 4.0.7, PHP 5, PHP 7)
imagefttext — Escribir texto en la imagen usando fuentes mediante FreeType 2
$image
, float $size
, float $angle
, int $x
, int $y
, int $color
, string $fontfile
, string $text
[, array $extrainfo
] ) : array
image
Un recurso image, es devuelto por una de las funciones de creación de imágenes, como imagecreatetruecolor().
size
El tamaño de la fuente que va a ser usada, en puntos.
angle
El ángulo en grados, siendo 0 grados la lectura del texto de izquierda a derecha. Valores mayores representan una rotación en sentido contrario al de las agujas del reloj. Por ejemplo, un valor de 90 resultaria en la lectura de texto de abajo a arriba.
x
Las coordenadas dadas por x
e
y
definirán el punto de referencia del primer
carácter (aproximadamente la esquina inferior izquierda del carácter). Esto
es diferente de imagestring(), donde
x
e y
definen la
esquina superior izquierda del primer carácter. Por ejemplo, "superior izquierda"
es 0, 0.
y
La coordenada y. Esto establece la posición de la línea base de las fuentes, no la del pie del carácter.
color
El índice del color deseado para el texto, véase imagecolorexact().
fontfile
La ruta de la fuente TrueType que se desea usar.
Dependiendo de la versión de GD que esté usando PHP, cuando
fontfile
no comienza con un
/ inicial, .ttf será añadido
al nombre de archivo, y la biblioteca intentará buscar ese
nombre de archivo en una ruta de biblioteca definida de fuentes.
Cuando se usan versiones de la biblioteca GD anteriores a 2.0.18, un carácter espacio, en vez de un punto y coma, es usado como el 'separador de ruta' para diferentes archivos de fuente. El uso involuntario de esta característica resultará en en el mensaje de advertencia: Warning: Could not find/open font. La única solución para estas versiones afectadas es mover la fuente a una ruta que no contenga espacios.
En muchos casos donde una fuente reside en el mismo derectorio que el script, el siguiente truco paliará cualquier problema de inclusión.
<?php
// Establecer la variable de entorno para GD
putenv('GDFONTPATH=' . realpath('.'));
// Nombrar la fuente que va ser usada (observe la ausencia de la extensión .ttf)
$fuente = 'UnaFuente';
?>
text
Texto que va a ser insertado en la imagen.
extrainfo
Clave | Tipo | Significado |
---|---|---|
linespacing | float | Define el espacio entre líneas |
Esta función devuelve una matriz que define los cuatro puntos de la caja, comenzado por el inferior izquierdo y moviéndose en el sentido de las agujas del reloj:
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 |
Ejemplo #1 Ejemplo de imagefttext()
<?php
// Crear una imagen de 300x100
$im = imagecreatetruecolor(300, 100);
$rojo = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$negro = imagecolorallocate($im, 0x00, 0x00, 0x00);
// Hacer el fondo rojo
imagefilledrectangle($im, 0, 0, 299, 99, $rojo);
// Ruta a nuestro archivo de fuente ttf
$archivo_fuente = './arial.ttf';
// Dibuja el texto 'PHP Manual' usando un tamaño de fuente de 13
imagefttext($im, 13, 0, 105, 55, $negro, $archivo_fuente, 'PHP Manual');
// Imprimir la imagen al navegador
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
Nota: Esta función sólo está disponible si PHP fue compilado con suporte de freetype (--with-freetype-dir=DIR )