Вывод строки
int imageString(int $im, int $font, int $x, int $y, string $s, int $col)
Выводит строку $s в изображение $im, используя шрифт $font и цвет $col. Координаты ($x,$y) будут координатами левого верхнего угла прямоугольника, в который вписана строка.
int imageStringUp(int $im, int $font, int $x, int $y, string $s, int $c)
Эта функция также выводит строку текста, но не в горизонтальном, а в вертикальном направлении. Верхний левый угол, по-прежнему, задается координатами ($x,$y).
list imageTTFText(int $im, int $size, int $angle, int $x, int $y,
int $col, string $fontfile, string $text)
Эта функция помещает строку $text
в изображение $im цветом $col. Как обычно, $col должен представлять собой допустимый идентификатор цвета. Параметр $angle задает угол наклона в градусах выводимой строки, отсчитываемый от горизонтали против часовой стрелки. Координаты ($x,$y) указывают положение так называемой базовой точки строки (обычно это ее левый нижний угол). Параметр $size задает размер шрифта, который будет использоваться при выводе строки. Наконец, $fontfile
должен содержать имя TTF-файла, в котором, собственно, и хранится шрифт.
Хотя в официальной документации об этом ничего не сказано, я рискну взять на себя ответственность и заявить, что параметр $fontfile должен всегда задавать абсолютный путь
(от корня файловой системы) [E110] [DK111] к требуемому файлу шрифтов. Что самое интересное, в PHP версии 3 функции все же работают с относительными именами. Но в любом случае лучше подстелить соломку — абсолютные пути еще никому не вредили, не правда ли[DK112] ?[E113] ..
Функция возвращает список из 8 элементов. Первая их пара задает координаты (x,y) верхнего левого угла прямоугольника[DK114] , описанного вокруг строки текста в изображении, вторая пара — координаты верхнего правого угла,
и т. д. Так как в общем случае строка может иметь любой наклон $angle, здесь требуются 4 пары координат.
Вот пример использования этой функции:
Листинг 23.2. Вывод TrueType-строки
<?
// Выводимая строка
$string="Hello world!";
// Создаем рисунок подходящего размера
$im = imageCreate(300,40);
// Создаем в палитре новые цвета
$black = imageColorAllocate($im, 0, 0, 0);
$orange = imageColorAllocate($im, 220, 210, 60);
// Закрашиваем картинку
imageFill($im,0,0,$black);
// Рисуем строку текста (файл times.ttf расположен в текущем каталоге)
imagettftext($im,50,0,20,35,$orange,getcwd()."/times.ttf",$string);
// Сообщаем о том, что далее следует рисунок PNG
Header("Content-type: image/png");
// Выводим рисунок
imagePng($im);
?>