Функция Заполняет ограниченную область.
Синтаксис #include
void far floodfill(int x, int y
int border);
Файл, содержащий graphics.h
прототип
Описание floodfill заполняет ограниченную область
на устройствах с побитовым отображением. (x,y) -
произвольная точка внутри закрашиваемой области.
Область, граница которой окрашена цветом
border,заполняется текущим цветом закраски и
шаблоном. Если указанная точка находится внутри
ограниченной области,то окрашивается область, а
если снаружи, то закрашивается все поле за преде-
лами области.
Используйте, если это возможно, fillpoly вместо
floodfill. Это позволит обеспечить кодовую сов-
местимость с будущими версиями.
Замечание. floodfill не работает с драйвером
IBM-8514.
Возвращаемое Если в процессе заполнения области возникла
значение ошибка, то graphresult возвращает значение -7.
Переносимость Функция уникальна для Turbo C++. Она работает
только на компьютерах IBM PC и совместимых с ни-
ми, оснащенных дисплейными адаптерами, поддержи-
вающими графический режим.
Смотрите также drawpolyfillpolygraphresultsetcolorsetfillstyle
Пример:
#include
#include
#include
#include
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int maxx,maxy;
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormsg(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
maxx = getmaxx();
maxy = getmaxy();
/* выбор цвета рисования */
setcolor(getmaxcolor());
/* выбор цвета заполнения */
selectfillstyle(SOLID_FILL,getmaxcolor());
/* нарисовать границу вокруг экрана */
rectangle(0,0,maxx,maxy);
/* нарисовать несколько окружностей */
circle(maxx/3,maxy/2,50);
circle(maxx/2,20,100);
circle(maxx-20,maxy-50,75);
circle(20,maxy-20,25);
/* ожидать нажатия клавиши */
getch();
/* заполнить ограниченную область */
floodfill(2,2,getmaxcolor());
/* очистка */
getch();
closegraph();
return 0;
}