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

Ваш аккаунт

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

Последние темы форума

Показать новые сообщения »

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



Подписчиков: 19086
Последний выпуск: 12.01.2012

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

Автор: 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.

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

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


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

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

Оставлять комментарии могут только зарегистрированные пользователи.

Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.

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