Справочник по PHP

         

Работа с фиксированными шрифтами


Библиотека GD имеет некоторые возможности по работе с текстом и шрифтами. Шрифты представляют собой специальные ресурсы, имеющие собственный идентификатор, и чаще всего загружаемые из файла или встроенные в GD. Каждый символ шрифта может быть отображен лишь в моноцветном режиме, т.е. "рисованные" символы не поддерживаются. Встроенных шрифтов всего 5 (идентификаторы от 1 до 5), чаще всего в них входят моноширные символы разных размеров. Остальные шрифты должны быть предварительно загружены.

imageLoadFont

Загрузка шрифта.

Синтаксис :

int imageLoadFont(string file)

Функция загружает файл шрифтов file и возвращает идентификатор шрифта - это будет цифра, большая 5, потому что пять первых номеров зарезервировано как встроенные. Формат файла - бинарный, а потому зависит от архитектуры машины. Это значит, что файл со шрифтами должен быть сгенерирован по крайней мере на машине с процессором такой же архитектуры, как и у той, на котором вы собираетесь использовать PHP.

Формат файла со шрифтом

Смещение

Тип



Описание

Byte 0-3

long

Число символов в шрифте (nchars)

byte 4-7

long

Индекс первого символа шрифта (обычно 32 - пробел)

byte 8-11

long

Ширина (в пикселях) каждого знака (width)

byte 12-15

long

Высота (в пикселях) каждого знака (height)

byte 16-...

array

Массив с информацией о начертании каждого символа, по одному байту на пиксел. На один символ, таким образом, приходится width*height*nchars байтов. 0 означает отсутствие точки в данной позиции, все остальное - ее присутствие.

Левая колонка задает смещение начала данных внутри файла, а группами цифр, записанных через дефис, определяется, до какого адреса продолжаются данные.

imageFontHeight

Установка высоты шрифта.

Синтаксис :

int imageFontHeight(int font)

Функция возвращает высоту в пикселях символов в заданном шрифте.

imageFontWidth

Установка ширины шрифта.

Синтаксис :

int imageFontWidth(int font)

Функция возвращает ширину в пикселях символов в заданном шрифте.


imageString

Выводит строку в горизонтальном направлении.

Синтаксис :

int imageString( int im, int font, int x, int y, string s, int color)

Функция выводит строку s

в изображение im, используя шрифт font и цвет color.

Координаты (x, y) будут координатами верхнего левого угла прямоугольника, в который вписана строка.

Если параметр font

задан как 1, 2, 3, 4 или 5, то выводится шрифт соответствующего размера.

<?php  // создаем изображение 100x30  $im = imagecreate(100, 30);   // задаем цвет текста  $textcolor = imagecolorallocate($im, 0, 0, 255);    // выводим надпись в верхнем левом углу  imagestring($im, 5, 0, 0, "Hello world!", $textcolor);    // выводим изображение в браузер  header("Content-type: image/jpg");  imagejpeg($im);?>

imageStringUp

Выводит строку в вертикальном направлении.

Синтаксис :

int imageStringUp(int im, int font, int x, int y, string s, int color)

Эта функция также выводит строку текста, но не в горизонтальном, а в вертикальном направлении.

Верхний левый угол задается координатами (x, y).

Если параметр font

задан как 1, 2, 3, 4 или 5, то выводится шрифт соответствующего размера.

imageChar

Вывод символа горизонтально.

Синтаксис :

int imageChar(int im, int font, int x, int y, string c, int color)

Функция выводит символ c

в горизонтальном положении в месте на рисунке, заданном координатами (x, y). Шрифт символа задается параметром font. Если этот параметр принимает значение от 1 до 5, то используются встроенные шрифты. Цвет символа задается параметром color.

<?php// создаем картинку размером 100x100$im = imagecreate(100, 100); $string = "PHP"; // задаем цвет символа$black = imagecolorallocate($im, 0, 0, 0); // Выведем символ "P" в верхнем левом углуimagechar($im, 1, 0, 0, $string, $black); // выведем картинку в браузерheader("Content-type: image/png");imagepng($im);?>

imageCharUp

Вывод символа вертикально.

Синтаксис :

int imageCharUp(int im, int font, int x, int y, string c, int color)

Функция выводит символ c

в вертикальном положении в месте на рисунке, заданном координатами (x, y). Шрифт символа задается параметром font. Если этот параметр принимает значение от 1 до 5, то используются встроенные шрифты. Цвет символа задается параметром color.


Содержание раздела