#Запись текста
public Image::text(string $text, int $x, int $y, callable|FontInterface $font): ImageInterface
Записывает строку text в позицию базовой точки x, y на текущем изображении. Вы можете задать дополнительные параметры, такие как размер шрифта, файл шрифта и выравнивание, через callback, передаваемый в качестве четвёртого параметра.
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| text | string | Текст, который будет записан на изображение. |
| x | integer | Координата по оси X, определяющая базовую точку первого символа. |
| y | integer | Координата по оси Y, определяющая базовую точку первого символа. |
| font | callable or FontInterface | Функция обратного вызова для настройки внешнего вида шрифта или экземпляр Typography\Font. |
#Пример
use Intervention\Image\ImageManager;
// Создать новый экземпляр изображения
$image = ImageManager::gd()->read('images/example.jpg');
// Записать текст в определённой позиции
$image->text('The quick brown fox', 120, 100);
#Настройки текста и шрифта
Чтобы задать общий вид текста и дополнительные параметры, можно передать callback в качестве необязательного параметра. Callback выполняет вызовы на FontInterface и ожидает следующие методы.
#Пример
use Intervention\Image\ImageManager;
use Intervention\Image\Typography\FontFactory;
// Создать тестовое изображение
$image = ImageManager::imagick()->read('images/example.jpg');
// Записать текст на изображение
$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);
});
#Размер шрифта
public FontFactory::size(float $size): FontFactory
Задаёт размер шрифта. По умолчанию применяется значение 12.
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| size | float | Размер шрифта, который будет применён |
#Файл шрифта
public FontFactory::filename(string $filename): FontFactory
Указывает путь к файлу шрифта в файловой системе для текста.
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| filename | string | Путь к корректному файлу шрифта |
#Цвет
public FontFactory::color(mixed $color): FontFactory
Задаёт цвет текста в одном из допустимых форматов цвета.
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| color | mixed | Желаемый цвет текста |
#Обводка текста (контур)
public FontFactory::stroke(mixed $color, int $width = 1): FontFactory
Добавляет эффект обводки указанного цвета к тексту. Также можно задать ширину обводки символов текста.
Обратите внимание: если используется функция stroke, по техническим причинам можно использовать только полностью непрозрачные цвета для текста и обводки.
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| color | mixed | Цвет обводки в допустимом формате цвета |
| width | int | Необязательная ширина эффекта обводки в диапазоне от 0 до 10 (по умолчанию 1) |
#Горизонтальное выравнивание
public FontFactory::align(string $align): FontFactory
Задаёт горизонтальное выравнивание текста относительно базовой точки. Возможные значения: left, right и center. По умолчанию: left
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| align | string | Горизонтальное выравнивание текста |
#Вертикальное выравнивание
public FontFactory::valign(string $valign): FontFactory
Задаёт вертикальное выравнивание текста относительно базовой точки. Возможные значения: top, bottom и middle. По умолчанию: bottom
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| valign | string | Вертикальное выравнивание текста |
#Вращение
public FontFactory::angle(float $angle): FontFactory
Поворачивает блок текста по часовой стрелке на заданный угол.
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| angle | float | Угол поворота |
#Межстрочный интервал
public FontFactory::lineHeight(float $height): FontFactory
Задаёт межстрочный интервал блока текста. Применяется только к многострочному тексту. Значение по умолчанию — 1.25.
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| height | float | Межстрочный интервал для многострочного блока текста |
#Перенос текста
public FontFactory::wrap(int $width): FontFactory
Задаёт максимальную ширину текста в пикселях. Текст анализируется с учётом указанных опций шрифта, и каждая строка автоматически переносится по заданной ширине. Разбиение слов дефисом не выполняется.
#Параметры
| Имя | Тип | Описание |
|---|---|---|
| width | int | Максимальная ширина блока текста |