(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(), которая дополнительно поддерживала параметр
options
. Начиная с 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, с которой работает PHP, если
аргумент 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);
?>
Замечание: Эта функция доступна только в случае, если PHP был скомпилирован с поддержкой freetype (--with-freetype-dir=DIR)