imagettftext
(PHP 4, PHP 5, PHP 7, PHP 8)
imagettftext — Малювання тексту на зображенні шрифтом TrueType
Опис
imagettftext( GdImage $image, float $size, float $angle, int $x, int $y, int $color, string $font_filename, string $text, array $options = []): array|false
Наносит текстtext
поверх изображения, используя TrueType шрифт.
Зауваження :
До PHP 8.0.0imagefttext() - це розширений варіант 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
Індекс кольору. Використання негативних індексів створює ефект вимкненого згладжування. Дивіться imagecolorallocate()
fontfile
Шлях до шрифту TrueType, який потрібно використовувати.
Залежно від того, яка бібліотека GD завантажена в PHP, якщо параметр fontfile
не починається із символу , то к имени файла будет добавлено расширение.ttf
і бібліотека намагатиметься шукати це ім'я файлу за певною бібліотекою шляху шрифтів.
При роботі з бібліотекою GD версії нижче 2.0.18 як роздільник шляхів для різних файлів шрифтів буде використано символ пробілу
, а не крапка з комою. Ненавмисне використання цієї особливості призведе до попередження: Warning: Could not find/open font
. Єдиним коректним рішенням для цих версій бібліотек буде переміщення файлів шрифтів до директорії, що не містить пробілів.
У багатьох випадках, коли шрифт знаходиться в тому ж каталозі, що і PHP скрипт, допоможе наступний трюк.
Loading...
Зауваження :
Обратите внимание, чтоopen_basedir неприменяется к
fontfile
text
Текстовий рядок у кодуванні UTF-8.
Для доступу до символів після 127го можна використовувати числові посилання (у форматі: €). Також підтримується шістнадцятковий формат (©). Рядки кодування UTF-8 можна передавати безпосередньо.
Іменовані сутності, на зразок ©, не підтримуються. Використовуйте функцію html_entity_decode(), щоб декодувати їх у рядках UTF-8.
Якщо символ не підтримується шрифтом, замість нього буде намальовано незафарбований прямокутник.
Значення, що повертаються
Повертає масив з 8 елементів, що представляють 4 точки - координати кутів рамки, що обрамляє текст. Крапки представлені в такому порядку: лівий нижній кут, нижній правий, верхній правий, верхній лівий. Кути вказані щодо тексту, тобто верхній лівий означає верхній лівий кут тексту, якщо розташувати його горизонтально. У разі виникнення помилки функція поверне false
список змін
Версия | Опис |
---|---|
8.0.0 | Добавлен параметрoptions |
Приклади
Приклад #1 Приклад використання imagettftext()****
У цьому прикладі буде створено зображення PNG з білим тлом розміром 400x30 пікселів та написом "Тест..." чорним кольором (з сірою тінню) шрифтом Arial.
Loading...
Висновок наведеного прикладу буде схожим на:
Примітки
Зауваження: Ця функція доступна лише у випадку, якщо PHP був скомпільований з підтримкою freetype (--with-freetype-dir=DIR) .
Дивіться також
- imagettfbbox() - Отримання параметрів рамки, що обрамляє текст написаний TrueType шрифтом
- imagefttext() - Нанесення тексту на зображення за допомогою шрифтів FreeType 2