Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Сборник статей
 
 

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

Автор: mike (www.codenet.ru)

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

Пример 1. Заливка замкнутой области с помощью функции 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

Пример 2. Заливка замкнутой области с помощью функции 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.

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

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

 
 » Обсудить эту статью на форуме

 
 Сборник статей 
 Содержание раздела 
Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS