#Escribir texto
public Image::text(string $text, int $x, int $y, callable|FontInterface $font): ImageInterface
Escriba una cadena de texto en la posición del punto base x, y sobre la imagen actual. Puede definir más detalles como el tamaño de la fuente, el archivo de fuente y la alineación mediante un callback como cuarto parámetro.
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| text | string | El texto que se escribirá en la imagen. |
| x | integer | Coordenada en el eje x que define el punto base del primer carácter. |
| y | integer | Coordenada en el eje y que define el punto base del primer carácter. |
| font | callable or FontInterface | Función callback para configurar la apariencia de la fuente o una instancia de Typography\Font. |
#Ejemplo
use Intervention\Image\ImageManager;
// crear nueva instancia de imagen
$image = ImageManager::gd()->read('images/example.jpg');
// escribir texto en una posición determinada
$image->text('The quick brown fox', 120, 100);
#Configuración de texto y fuente
Para definir la apariencia general del texto y ajustar más detalles, puede pasar un callback como parámetro opcional. El callback ejecuta llamadas en FontInterface y escucha los métodos que se muestran a continuación.
#Ejemplo
use Intervention\Image\ImageManager;
use Intervention\Image\Typography\FontFactory;
// crear imagen de prueba
$image = ImageManager::imagick()->read('images/example.jpg');
// escribir texto en la imagen
$image->text('The quick brown fox', 120, 100, function (FontFactory $font) {
$font->filename('./fonts/comic-sans.ttf');
$font->size(70);
$font->color('fff');
$font->stroke('ff5500', 2);
$font->align('center');
$font->valign('middle');
$font->lineHeight(1.6);
$font->angle(10);
$font->wrap(250);
});
#Tamaño de fuente
public FontFactory::size(float $size): FontFactory
Defina el tamaño de la fuente. Por defecto se aplicará el valor 12.
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| size | float | Tamaño de fuente que se aplicará |
#Archivo de fuente
public FontFactory::filename(string $filename): FontFactory
Establezca la ruta a un archivo de fuente en el sistema de archivos para el texto.
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| filename | string | Ruta a un archivo de fuente válido |
#Color
public FontFactory::color(mixed $color): FontFactory
Defina el color del texto en uno de los formatos de color válidos.
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| color | mixed | Color deseado del texto |
#Trazo del texto (contorno)
public FontFactory::stroke(mixed $color, int $width = 1): FontFactory
Añada un efecto de contorno en el color deseado al texto que se escribirá. También puede determinar el ancho de los trazos para los caracteres del texto.
Tenga en cuenta que si se utiliza la función de trazo, por razones técnicas sólo es posible usar colores completamente opacos para el texto y los trazos.
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| color | mixed | Color de los trazos en un formato de color válido |
| width | int | Ancho opcional del efecto de trazo en el rango de 0 a 10 (por defecto 1) |
#Alineación horizontal
public FontFactory::align(string $align): FontFactory
Defina la alineación horizontal del texto a escribir con respecto al punto base. Los valores posibles son left, right y center. Por defecto: left
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| align | string | Alineación horizontal del texto |
#Alineación vertical
public FontFactory::valign(string $valign): FontFactory
Defina la alineación vertical del texto a escribir con respecto al punto base. Los valores posibles son top, bottom y middle. Por defecto: bottom
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| valign | string | Alineación vertical del texto |
#Rotación
public FontFactory::angle(float $angle): FontFactory
Gire el bloque de texto en sentido horario con el ángulo deseado.
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| angle | float | Ángulo de rotación |
#Altura de línea
public FontFactory::lineHeight(float $height): FontFactory
Defina la altura de línea del bloque de texto. Se aplica solo a texto de varias líneas. El valor por defecto es 1.25.
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| height | float | Altura de línea para bloques de texto de varias líneas |
#Ajuste de texto
public FontFactory::wrap(int $width): FontFactory
Especifica el ancho máximo del texto en píxeles. El texto que se renderiza se analiza usando las opciones de fuente especificadas y cada línea se ajusta automáticamente al ancho máximo. No se realiza separación por sílabas.
#Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| width | int | Ancho máximo del bloque de texto |