Arc
arc
Функция Рисует дугу окружности.
Синтаксис #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 и совместимых с ними, оснащенных дисплейными адаптерами, поддержи- вающими графический режим.
Смотрите также
Пример:
#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; }