Функция Рисует дугу окружности.
Синтаксис #include
void far arc(int x,int y,int stangle,
int endangle,int radius);
Файл, содержащий graphics.h
прототип
Описание arc рисует текущим цветом дугу окружности с цент-
ром в точке с координатами (x,y) и радиусом
radius . Дуга рисуется от угла stangle до угла
endangle. Если stangle равен 0 и endangle равен
360, функция arc нарисует полную окружность.
Угол для arc отсчитывается против часовой стрелки,
где 0 градусов соответствует 3 часам на цифербла-
те, 90 градусов - 12 часам и т.д.
Замечание. Параметр linestyle не оказывает воздей-
ствие при построении дуг, окружностей, эллипсов и
секторов. Используется только параметр thickness.
Замечание. Если вы используете CGA в режиме высо-
кого разрешения или монохромный графический адап-
тер, примеры на использование графических функций,
приведенные в этой книге, могут не дать ожидаемого
результата. Если ваша система работает на CGA или
монохромном адаптере, передайте значение 1 тем
функциям, которые изменяют цвет закрашивания или
рисования, (например, setcolor, setfillstyle и
setlinestyle) вместо символической константы цвета
(определенной в graphics.h).
Возвращаемое Нет.
значение
Переносимость Эта функция уникальна для Turbo C++. Она работа-
ет только на компьютерах IBM PC и совместимых с
ними, оснащенных дисплейными адаптерами, поддержи-
вающими графический режим.
Смотрите также circleellipsefillelipsegetarccoordsgetaspectratiographresultpieslicesector
Пример:
#include
#include
#include
#include
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int midx,midy;
int stangle = 45,endangle = 135;
int radius = 100;
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormsg(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midx = getmaxx() / 2;
midy = getmaxy() / 2;
setcolor(getmaxcolor(1));
/* рисует дугу */
arc(midx,midy,stangle,endangle,radius);
/* очистка */
getch();
closegraph();
return 0;
}