Определяет границы прямоугольного обрамления для текста, который библиотека freetype2 выводит на экран путём рендеринга шрифта

# imageftbbox

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

imageftbbox — Определяет границы прямоугольного обрамления для текста, который библиотека freetype2 выводит на экран путём рендеринга шрифта

### Описание

function imageftbbox(
float `$size`,
float `$angle`,
string `$font_filename`,
string `$string`,
array `$options` = []
): array|false

Функция рассчитывает и возвращает обрамляющую рамку в пикселях для текста, который выводится на экран библиотекой FreeType.

> Замечание:

> До PHP 8.0.0 функция imageftbbox() была расширенной версией функции imagettfbbox(), которая дополнительно поддерживала параметр `options`. Начиная с 8.0.0 функция imagettfbbox() стала псевдонимом функции imageftbbox().

### Список параметров

`size`

  Размер шрифта в типографских пунктах.

`angle`

  Угол в градусах, под которым функция измерит значение аргумента `string`.

`font_filename`

  Название файла TrueType-шрифта в виде локального пути или URL-адреса. В зависимости от версии библиотеки GD, с которой работает PHP, функция попытается найти файлы, названия которых не начинаются с символа '/', путём добавления к названию файла расширения '.ttf' и поиска по пути к шрифту, который определяет библиотека.

`string`

  Строка, которую требуется измерить.

`options`

  Возможные ключи массива `options`
  Ключ | Тип | Значение
  --- | --- | ---
  `linespacing` | float | Определяет межстрочный интервал при отрисовке

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

Функция imageftbbox() возвращает массив из 8 элементов, которые представляют координаты четырёх точек — вершин рамки обрамления текста:

0 | нижний левый угол, координата X
1 | нижний левый угол, координата Y
2 | нижний правый угол, координата X
3 | нижний правый угол, координата Y
4 | верхний правый угол, координата X
5 | верхний правый угол, координата Y
6 | верхний левый угол, координата X
7 | верхний левый угол, координата Y

Точки располагаются относительно текста независимо от угла `angle`, поэтому «верхний левый» обозначает верхний левый угол, если смотреть на текст горизонтально.

Функция возвращает `false`, если возникла ошибка.

### Примеры

Пример #1 Пример определения границ обрамления функцией imageftbbox()

    <?php

    // Создание изображения размером 300x150
    $im = imagecreatetruecolor(300, 150);
    $black = imagecolorallocate($im, 0, 0, 0);
    $white = imagecolorallocate($im, 255, 255, 255);

    // Установка белого фона
    imagefilledrectangle($im, 0, 0, 299, 299, $white);

    // Установка пути к файлу шрифта
    $font = './arial.ttf';

    // Создание рамки вокруг текста
    $bbox = imageftbbox(10, 0, $font, 'Группа документирования языка PHP');

    // Установка координат для осей X и Y
    $x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
    $y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

    imagefttext($im, 10, 0, $x, $y, $black, $font, 'Группа документирования языка PHP');

    // Вывод в браузер
    header('Content-Type: image/png');

    imagepng($im);

    ?>

### Примечания

> Замечание: Эта функция доступна только в случае, если PHP был скомпилирован с поддержкой freetype (--with-freetype-dir=DIR)

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

- imagefttext() - Наносит текст на изображение путём рендеринга шрифта библиотекой FreeType 2
- imagettfbbox() - Определяет границы прямоугольного обрамления для текста, который библиотека freetype2 выводит на экран путём рендеринга шрифта

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open