arc
Функция Рисует дугу окружности.
Синтаксис #include <graphics.h>
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).
Возвращаемое Нет.
значение
Переносимость Эта функция уникальна для Borland C++. Она работа-
ет только на компьютерах IBM PC и совместимых с
ними, оснащенных дисплейными адаптерами,
поддерживающими графический режим. Функция не
совместима с Windows.
Смотрите также circle, ellipse, fillelipse, getarccoords,
getaspectratio, graphresult, pieslice, sector.
Пример:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
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",grapherrormessage(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;
}
|