Заливка замкнутой области
Для заливки замкнутой области используются функции imagefill и imagefilltoborder.
Функция imagefill закрашивает все прилегающие пиксели, цвет которых совпадает с цветом начальной точки, а функция imagefilltoborder закрашивает все прилегающие пиксели, цвет которых не совпадает с цветом заданным с помощью четвертого параметра - border
int imagefill ( resource image, int x, int y, int color )
где,
- image - идентификатор изображения;
- x,y - координаты точки, с которой будет начата заливка;
- color - цвет.
int imagefilltoborder ( resource image, int x, int y, int border, int color )
где,
- image - идентификатор изображения;
- x,y - координаты точки, с которой будет начата заливка;
- border - цвет границы.
- color - цвет.
Пример 27. Заливка замкнутой области с помощью функции imagefill:
<?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);
?>
Результат работы этой программы выглядит следующим образом:

Пример 28. Заливка замкнутой области с помощью функции imagefilltoborder:
<?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);
imagefilltoborder($im,160,120,$blue,$green);
imagepng($im);
imagedestroy($im);
?>
Результат работы этой программы выглядит следующим образом:

Используйте функции imagefill и imagefilltoborder только если абсолютно уверены в том
что закрашивая область замкнута. По возможности, старайтесь использовать функции imagefiledrectangle, imagefilledpolygon и imagefilledarc.
Более подробно, о том, как работают функции закрашивания замкнутых областей можно прочитать тут.
Ссылки по теме
- PHP Manual - функция imagefill;
- PHP Manual - функция imagefilltoborder;
- PHP Manual - функция imagefilledrectangle;
- PHP Manual - функция imagefilledarc;
- PHP Manual - функция imagefilledpolygon.
Оставить комментарий
Оставлять комментарии могут только зарегистрированные пользователи.
Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.
