imageftbbox
(PHP 4 >= 4.0.7, PHP 5, PHP 7)
imageftbbox — Определение границ текста выводимого шрифтом freetype2
Описание
$size
, float $angle
, string $fontfile
, string $text
, array $extrainfo
= ?
) : arrayЭта функция рассчитывает и возвращает рамку (границы) FreeType текста.
Замечание:
imageftbbox() - это расширенный вариант imagettfbbox(), который дополнительно поддерживает
extrainfo
.
Список параметров
-
size
-
Размер шрифта в типографских пунктах.
-
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(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);
imagedestroy($im);
?>
Примечания
Замечание: Эта функция доступна только в случае, если PHP был скомплирован с поддержкой freetype (--with-freetype-dir=DIR)
Смотрите также
- imagefttext() - Нанесение текста на изображение, используя шрифты FreeType 2
- imagettfbbox() - Получение параметров рамки обрамляющей текст написанный TrueType шрифтом