(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)
imagefttext — Нанесение текста на изображение, используя шрифты FreeType 2
$image
,$size
,$angle
,$x
,$y
,$color
,$font_filename
,$text
,$options
= []Замечание:
До PHP 8.0.0 imagefttext() - это расширенный вариант imagettftext(), который дополнительно поддерживает
extrainfo
. Начиная с PHP 8.0.0, imagettftext() является псевдонимом imagefttext().
image
Объект GdImage, возвращаемый одной из функций создания изображений, например, такой как imagecreatetruecolor().
size
Размер шрифта в пунктах.
angle
Угол в градусах, 0 градусов означает расположение текста слева направо. Положительные значения означают поворот текста против часовой стрелки. Например, текст повёрнутый на 90 градусов нужно будет читать снизу вверх.
x
Координаты x
и y
определяют
отправную точку для первого символа текста (конкретно, левый нижний угол
символа). Здесь есть отличие от функции imagestring(),
в которой x
и y
определяют
верхний левый угол первого символа. Например, "верхний левый" имеет
координаты 0,0.
y
y-координата. Это позиция базовой линии шрифта, в общем случае она не совпадает с низшей точкой в символе.
color
Индекс требуемого цвета текста, смотрите imagecolorexact().
font_filename
Путь к TrueType шрифту, который требуется использовать.
В зависимости от версии GD библиотеки если
font_filename
не начинается с /
,
то в конец названия файла будет добавлено расширение
.ttf
, и библиотека будет пытаться найти
этот файл по адресу, определённому в настройках библиотеки.
В большинстве случаев размещение файлов шрифтов в директории скрипта решает подобные проблемы включения файлов.
<?php
// Задание переменной окружения для GD
putenv('GDFONTPATH=' . realpath('.'));
// Имя шрифта для использования (обратите внимание на отсутствие расширения .ttf)
$font = 'SomeFont';
?>
text
Текст для вставки в изображение.
options
Ключ | Тип | Значение |
---|---|---|
linespacing |
float | Определяет рисование нижнего подчёркивания |
Эта функция возвращает массив, определяющий четыре точки рамки текста. Текст внутри этих границ начинается с левого нижнего угла и поворачивается против часовой стрелки:
0 | нижняя левая x-координата |
1 | нижняя левая y-координата |
2 | нижняя правая x-координата |
3 | нижняя правая y-координата |
4 | верхняя правая x-координата |
5 | верхняя правая y-координата |
6 | верхняя левая x-координата |
7 | верхняя левая y-координата |
В случае возникновения ошибки возвращает false
.
Версия | Описание |
---|---|
8.0.0 |
image теперь ожидает экземпляр GdImage;
ранее ожидался корректный gd ресурс (resource).
|
Пример #1 Пример использования imagefttext()
<?php
// Создание изображения 300x100
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);
// Сделаем красный фон
imagefilledrectangle($im, 0, 0, 299, 99, $red);
// Путь к ttf файлу шрифта
$font_file = './arial.ttf';
// Рисуем текст 'PHP Manual' шрифтом 13го размера
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');
// Вывод изображения
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>
Замечание: Эта функция доступна только в случае, если PHP был скомпилирован с поддержкой freetype (--with-freetype-dir=DIR)