САМОУЧИТЕЛЬ PHP 4

Вывод строки


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);

?>



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