52680.fb2 Справочник по PHP - читать онлайн бесплатно полную версию книги . Страница 140

Справочник по PHP - читать онлайн бесплатно полную версию книги . Страница 140

header("Content-type: image/png");

imagepng($img);

// закрытие рисунка

imagedestroy($img);

?>

imageFill

Заливка цветом ограниченной области.

Синтаксис:

int imageFill(int im, int x, int y, int color)

Эта функция выполняет сплошную заливку одноцветной области, содержащей точку с координатами (x, y) цветом color. Нужно замерить, что современные алгоритмы заполнения работают довольно эффективно, так что не стоит особо заботиться о скорости ее работы. Будут закрашены только те точки, к которым можно проложить "одноцветный сильно связанный путь" из точки x, y.

Две точки называются связанными сильно, если у них совпадает, по крайней мере, одна координата, а по другой координате они отличаются не более, чем на 1 в любую сторону.

imageFillToBorder

Заливка области, ограниченной бордюром.

Синтаксис:

int imageFillToBorder(int im, int x, int y, int border, int color)

Эта функция очень похожа на imageFill(), только она выполняет закраску цветом color не одноцветных точек, а любых, но до тех пор, пока не будет достигнута граница цвета border.

imagePolygon

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

Синтаксис:

int imagePolygon(int im, array points, int num_points, int color)

Эта функция рисует в изображении im многоугольник, заданный своими вершинами. Координаты углов передаются в массиве points, причем $points[0]=x0, $points[1]=y0, $points[2]=x1, $points[3]=y1 и т.д.

Параметр num_points указывает общее число вершин - на тот случай, если в массиве их больше, чем нужно нарисовать. Многоугольник не закрашивается - только рисуется его граница цветом color.

<?php

// создаем изображение 400x300

$image = imagecreate(400, 300);

// устанавливаем цвет бордюра многоугольника

$col_poly = imagecolorallocate($image, 255, 255, 255);

// рисуем многоугольник

imagepolygon($image,

array (

0, 0,

100, 200,

300, 200

),

3, $col_poly);

// вывод картинки в браузер

header("Content-type: image/png");

imagepng($image);

?>

imageFilledPolygon

Рисует закрашенный многоугольник с заданными вершинами.

Синтаксис:

int imageFilledPolygon(int im, array points, int num_points, int color)

Эта функция делает практически то же самое, что и imagePolygon(), за исключением одного очень важного свойства: полученный многоугольник целиком заливается цветом color.

При этом правильно обрабатываются вогнутые части фигуры, если она не выпукла.

<?php

// задаем массив с координатами углов

$values = array(

0 => 40, // x1

1 => 50, // y1