Определение границ текста выводимого шрифтом freetype2


(PHP 4 >= 4.0.7, PHP 5)

imageftbbox Определение границ текста выводимого шрифтом freetype2

Описание

array imageftbbox ( float $size , float $angle , string $fontfile , string $text [, array $extrainfo ] )

Эта функция расчитывает и возвращает рамку (границы) FreeType текста .

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

size

Размер шрифта. В зависимости от вашей версии GD, он должен быть указан либо в пикселах (GD1) либо в типографских пунктах (GD2).

angle

Угол в градусах в котором text должен быть измерен.

fontfile

Имя файла TrueType шрифта (может быть URL). В зависимости от версии GD библиотеки функция может попытаться найти файлы, не начинающиеся с '/' путем добавления '.ttf' в конец имени файла и поиска по адресу заданному в библиотеке.

text

Измеряемая строка.

extrainfo

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

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

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

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

Точки расположены относительно текста text и не зависят от угла angle, таким образом "верхний левый" означает верхняя левая точка текста, если расположить текст горизонтально.

Примеры

Пример #1 Пример использования imageftbbox()

<?php
// Создание изображения 300x150
$im imagecreatetruecolor(300150);
$black imagecolorallocate($im000);
$white imagecolorallocate($im255255255);

// установка белого фона
imagefilledrectangle($im00299299$white);

// путь к файлу шрифта
$font './arial.ttf';

// создаем рамку вокруг текста
$bbox imageftbbox(100$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($im100$x$y$black$font'Группа документирования PHP');

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

imagepng($im);
imagedestroy($im);
?>

Примечания

Замечание: Эта функция нуждается в GD версии 2.0.1 или выше.

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