Ми вже розглядали в статті «PHP GD перенесення рядка довгого тексту» проблему автоматичного перенесення рядків, але що якщо текст нам потрібно розмістити по середині заданої області, тобто відцентрувати. Не завжди ж текст розташовується притиснутим до лівої частини. А може нам знадобиться текст вирівняти по правому краю, як тоді бути?
Html засобами зробити це просто, а як розмістити текст на зображенні по центру або притиснутим в право засобами PHP GD?
// Прописуємо заголовок PNG-зображення
Поки писав цю статтю прийшла на думку ідея, як зробити вирівнювання тексту по ширині засобами PHP GD.
- Все те ж саме, як і в статті PHP GD перенесення рядка довгого тексту. але не відразу наносимо рядки на картинку.
- Спершу розбиваємо рядок на масив слів, обчислюємо ширину слів, виходячи з цього отримуємо ширину пробілів (ширина області під текст - мінус ширина слів, розділимо на кількість прогалин). Прогалин менше ніж слів на 1. Ширину слів можна обчислити, виходячи з суми ширини кожного слова, але я б зробив простіше, прибрав з рядка всі пробільні символи і обчислив ширину рядка без пробілів.
- Нанесення тексту на картинку робимо пословно, розраховуючи зміщення з урахуванням Пробільні ширини.
Хлопці, прошу вас поважати чужу працю!
При копіюванні даного матеріалу, дайте посилання на джерело, це не складно ..
Дякуємо! Те що потрібно. Є ще питання. Якщо у мене шрифт інший і іншого розміру, то що вказувати в $ height_tmp = $ height_tmp + 19 ;? Замість 19 підібрати інше число?