Создание изображения с текстом по центру (PHP)
Добавлено: 11 дек 2011, 20:50
Создание изображения с текстом по центру (PHP)
В этом коде показано как создать изображение с помощью PHP и как добавить на изображение текст, выравненный по центру изображения.
Для того чтобы код работал, нужно подключить шрифт. В коде выше подключается файл шрифта verdana.ttf, который находится в папке font. Папка font в этом случае должна находится в одном каталоге с php файлом. Но можно указать и абсолютный путь к файлу шрифта.
Метод imageftbbox() может вызвать вопросы, т.к. возвращает 8 значений в массиве.
Вот что они означают:
В этом коде показано как создать изображение с помощью PHP и как добавить на изображение текст, выравненный по центру изображения.
Код: Выделить всё
<?php/* http://flapps.ru/forum/ - форум о создании приложений */ header('Content-type: image/png'); $text = "flapps.ru"; // размер изображения$img = imagecreatetruecolor(150, 150); // цвет фона$bg = imagecolorallocate($img, 18, 163, 235);imagefilledrectangle($img, 0, 0, 150, 150, $bg); // шрифт$font = 'font/verdana.ttf';// цвет текста$black = imagecolorallocate($img, 255, 255, 255); // вычисляем сколько места займёт текст$bbox = imageftbbox(13, 0, $font, $text); // вычисляем координаты для центрирования$x = (imagesx($img) - $bbox[4])/2;$y = (imagesy($img) - $bbox[5])/2; // добавляем текст на изображениеimagefttext($img, 13, 0, $x, $y, $black, $font, $text); // выводим изображениеimagepng($img);// освобождаем памятьimagedestroy($img); // http://flapps.ru/forum?>
Метод imageftbbox() может вызвать вопросы, т.к. возвращает 8 значений в массиве.
Вот что они означают:
0 lower left corner, X position
1 lower left corner, Y position
2 lower right corner, X position
3 lower right corner, Y position
4 upper right corner, X position
5 upper right corner, Y position
6 upper left corner, X position
7 upper left corner, Y position