
Выбор пера
При рисовании примитивов толщина линии составляет 1 пиксел. Чтобы задать другое значение, используется функция imageSetThickness()
Общий вид:
imageSetThickness(идентификатор изображения, толщина пера)
Стиль пера устанавливает функция imageSetStyle():
Общий вид:
imageSetStyle(идентификатор изображения, список идентификаторов цветов)
Список идентификаторов цветов – это массив идентификаторов цветов, созданный предварительно. эти цвета будут чередоваться при выводе линий.
Если очередную точку при выводе нужно пропустить, то вместо идентификатора цвета указывается константа IMG_COLOR_TRANSPARENT. Таким образом можно получить пунктирную линию.
Заливка замкнутой области
Для заливки замкнутой области используются функции imagefill() и imagefilltoborder().
Функция imagefill() закрашивает все прилегающие пиксели, цвет которых совпадает с цветом начальной точки, а функция imagefilltoborder() закрашивает все прилегающие пиксели, цвет которых не совпадает с цветом заданным с помощью четвертого параметра – цвет границы.
Общий вид:
imagefill (идентификатор изображения, x, y, цвет )
где,
x,y - координаты точки, с которой будет начата заливка.
Общий вид:
imagefilltoborder (идентификатор изображения, x, y, цвет границы, цвет)
где,
x, y - координаты точки, с которой будет начата заливка.
Пример. Заливка замкнутой области:
<?php
header ("Content-type: image/png");
$im = imagecreatetruecolor(320, 240);
$red = imagecolorallocate($im, 255, 0, 0);
$green = imagecolorallocate($im, 0, 255, 0);
$blue = imagecolorallocate($im, 0, 0, 255);
imagerectangle($im,50,50,270,190,$blue);
imagerectangle($im,100,100,220,130,$red);
imagefill($im,160,120,$green);
imagepng($im);
imagedestroy($im);
?>
Для заливки сложной замкнутой области удобно использовать функцию imagefilledpolygon():
Общий вид:
imagefilledpolygon (идентификатор изображения, массив вершин, количество вершин, цвет)
Закрашивать области можно не только одним цветом, но некоторой фоновой картинкой – текстурой. Это происходит, если всем функциям закраски вместо идентификатора цвета указать специальную константу IMG_COLOR_TILED. Следующая фнкция устанавливает текущую текстуру закраски:
Общий вид:
imageSetTile(идентификатор изображения, текстура)
Работа с фиксированными шрифтами
Функция imageLoadFont() загружает файл шрифтов и возвращает идентификатор шрифта (цифра > 5, т.к. первые 5 номеров зарезервированы как встроенные)
Общий вид:
imageLoadFont(Имя файла шрифтов)
Вывести строку в изображение можно с помощью функции imageString():
Общий вид:
imageString(идентификатор изображения, идентификатор шрифта, х, у, строка, цвет)
Пример.
<?php
header ("Content-type: image/png");
$img = imagecreatetruecolor(320, 240);
$color = imagecolorallocate($img, 255, 255, 0);
imagestring($img,2,5,5, “Hello? This is example”,$color);
imagepng($img);
imagedestroy($img);
?>
Функция imageStringUp() также выводит строку текста, но по вертикали. Имеет те же параметры.
Библиотека GD поддерживает также работу с векторными масштабируемыми шрифтами PostScript и TrueType.
Функция imageTtfText() помещает строку текста в изображение.
Общий вид:
imageTtfText(идентификатор изображения, размер, угол наклона, х, у, цвет, имя файла шрифтов, строка)
Если вы хотите выводить текст, содержащий русские буквы, то должны сначала перекодировать его в специальное представление. В этом представлении каждый знак кириллицы имеет вид
&#xxxx,
где хххх – код буквы в кодировке Unicode.