(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.
yy-координата. Это позиция базовой линии шрифта, в общем случае она не совпадает с низшей точкой в символе.
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)