Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

Автор: mike, www.codenet.ru
21 марта 2005 года

Для заливки замкнутой области используются функции 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);
?>

Результат работы этой программы выглядит следующим образом:

Результат работы функции imagefill

Пример 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);
?>

Результат работы этой программы выглядит следующим образом:

Результат работы функции imagefilltoborder

Используйте функции imagefill и imagefilltoborder только если абсолютно уверены в том что закрашивая область замкнута. По возможности, старайтесь использовать функции imagefiledrectangle, imagefilledpolygon и imagefilledarc.

Более подробно, о том, как работают функции закрашивания замкнутых областей можно прочитать тут.

Ссылки по теме


Назад | Оглавление | Далее

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог