imagefttext

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagefttext Нанесение текста на изображение, используя шрифты FreeType 2

Описание

imagefttext(
    GdImage$image,
    float$size,
    float$angle,
    int$x,
    int$y,
    int$color,
    string$font_filename,
    string$text,
    array$options = []
): array|false

Замечание:

До 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

Возможные значения массива options
КлючТипЗначение
linespacingfloat Определяет рисование нижнего подчёркивания

Возвращаемые значения

Эта функция возвращает массив, определяющий четыре точки рамки текста. Текст внутри этих границ начинается с левого нижнего угла и поворачивается против часовой стрелки:

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)

Смотрите также

  • imageftbbox() - Определение границ текста выводимого шрифтом freetype2
  • imagettftext() - Рисование текста на изображении шрифтом TrueType
To Top