Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с изображениями в PHP.docx
Скачиваний:
8
Добавлен:
19.11.2019
Размер:
33.28 Кб
Скачать
  1. Выбор пера

При рисовании примитивов толщина линии составляет 1 пиксел. Чтобы задать другое значение, используется функция imageSetThickness()

Общий вид:

imageSetThickness(идентификатор изображения, толщина пера)

Стиль пера устанавливает функция imageSetStyle():

Общий вид:

imageSetStyle(идентификатор изображения, список идентификаторов цветов)

Список идентификаторов цветов – это массив идентификаторов цветов, созданный предварительно. эти цвета будут чередоваться при выводе линий.

Если очередную точку при выводе нужно пропустить, то вместо идентификатора цвета указывается константа IMG_COLOR_TRANSPARENT. Таким образом можно получить пунктирную линию.

  1. Заливка замкнутой области

Для заливки замкнутой области используются функции 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(идентификатор изображения, текстура)

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

Функция 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.