fillpoly
Функция Рисует и закрашивает многоугольник.
Синтаксис #include <graphics.h>
void far fillpoly (int numpoints,
int far *polypoints);
Файл, содержащий graphics.h
прототип
Описание fillpoly рисует контур многоугольника ,имеющий
numpoints точек, используя текущий вид линии и цвет
(так же, как это делает drawpoly),а затем
закрашивает многоугольник текущим цветом закраски и
с помощью текущего шаблона.
polypoints указывает на последовательность из
(numpoints x 2) целых чисел. Каждая пара чисел x и
y является координатами вершины многоугольника.
Возвращаемое Нет.
значение
Переносимость Функция уникальна для Borland C++. Она работает
только на компьютерах IBM PC и совместимых с ними,
оснащенных дисплейными адаптерами, поддерживающими
графический режим. Функция не совместима с Windows.
Смотрите также drawpoly, floodfill, graphresult, setfillstyle.
Пример:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int i,maxx,maxy;
/* наш многоугольник */
int poly[10];
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
maxx = getmaxx();
maxy = getmaxy();
poly[0] = 20; /* первая точка */
poly[1] = maxy/2;
poly[2] = maxx-20; /* 2 */
poly[3] = 20;
poly[4] = maxx-50; /* 3 */
poly[5] = maxy-20;
poly[6] = maxx/2; /* 4 */
poly[7] = maxy/2;
poly[8] = poly[0]; /* возврат в исходную т. */
poly[9] = poly[1];
/* цикл по шаблонам */
for(i=EMPTY_FILL; i<USER_FILL; i++)
{
/* определить шаблон */
setfillpattern(i,getmaxcolor(1));
/* рисует заполненный многоугольник */
fillpoly(5,poly);
getch();
}
/* очистка */
getch();
closegraph();
return 0;
}
|