- •Содержание
- •Imagesize
- •Initgraph
- •Installuserdriver
- •Installuserfont
- •Cleardevice
- •Closegraph
- •Detectgraph
- •Drawpoly
- •Ellipse
- •Fillellipse
- •Fillpoly
- •Floodfill
- •Getarccoords
- •Getaspectratio
- •Getbkcolor
- •Getcolor
- •Getdefaultpalette
- •Getdrivername
- •Getfillpattern
- •Getfillsettings
- •Getgraphmode
- •Getimage
- •Getlinesettings
- •Getmaxcolor
- •Getmaxmode
- •Getmaxx
- •Getmaxy
- •Getmodename
- •Getmoderange
- •Getpallete
- •Getpalettesize
- •Getpixel
- •Gettextsettings
- •Getviewsettings
- •Graphdefaults
- •Grapherrormsg
- •_Graphfreemem
- •_Graphgetmem
- •Graphresult
- •Imagesize
- •Initgraph
- •Installuserdriver
- •Installuserfont
- •Linerel
- •Moverel
- •Outtext
- •Outtextxy
- •Pieslice
- •Putimage
- •Putpixel
- •Rectangle
- •Registerbgidriver
- •Restorecrtmode
- •Setactivepage
- •Setallpalette
- •Setaspectratio
- •Setbkcolor
- •Setcolor
- •Setfillpattern
- •Setfillstyle
- •Setgraphbufsize
- •Setgraphmode
- •Setlinestyle
- •Setpalette
- •Setrgbpalette
- •Settextjustify
- •Settextstyle
- •Setusercharsize
- •Setviewport
- •Setvisualpage
- •Setwritemode
- •Textheight
- •Textwidht
Содержание
arc
Рисует круговую дугу.
bar
Вычерчивание полосы.
bar3d
Вычерчивание трехмерной полосы.
circle
Вычерчивает круг.
cleardevice
Очищает графический экран.
closegraph
Возврат из графического режима.
detectgraph
Определяет графический драйвер и графический режим.
drawpoly
Вычерчивание многоугольника.
ellipse
Вычерчивание эллиптической дуги.
fillellipse
Рисует и наполняет эллипс.
fillpoly
Вычерчивает и заполняет многоугольник.
floodfill
Заполняет методом "лавины" ограниченную область
getarccoords
Возвращает координаты последнего обращения к arc.
getaspectratio
Возвращает коэффициент сжатия текущего графического режима.
getbkcolor
Возвращает текущий цвет фона.
getcolor
Возвращает текущий цвет рисования.
getdefaultpalette
Возвращает указатель на структуру палитры.
getdrivername
Возвращает указатель на строку, содержащую наименование текущего графического драйвера.
getfillpattern
Копирует описанный пользователем шаблон заполнения.
getfillsettings
Возвращает информацию о текущих шаблоне и цвете заполнения.
getgraphmode
Возвращает текущий графический режим.
getimage
Сохраняет часть экрана в заданной области памяти.
getlinesettings
Возвращает информацию о текущих шаблоне и цвете заполнения.
getmaxcolor
Возвращает максимальное значение цвета
getmaxmode
Возвращает максимальный номер графического режима для заданного драйвера.
getmaxx
Возвращает максимальную координату экрана по x.
getmaxy
Возвращает максимальную координату экрана по y.
getmodename
Определяет наименование заданного графического режима.
getmoderange
Возвращает диапазон режимов для заданного графического драйвера.
getpallete
Возвращает информацию о текущей палитре.
getpalettesize
Определяет размер палитры.
getpixel
Возвращает цвет заданной точки растра.
gettextsettings
Возвращает информацию о текущем текстовом шрифте.
getviewsettings
Возвращает информацию о текущем графическом окне.
getx
Возвращает координату текущей позиции x.
gety
Возвращает координату текущей позиции y.
graphdefaults
Сбрасывает все графические параметры в их значения по умолчанию.
grapherrormsg
Возвращает строку сообщения об ошибке.
_graphfreemem
Перераспределяет графическую память пользователя.
_graphgetmem
Распределяет графическую память пользователя.
graphresult
Возвращает код ошибки последней графической операции.
Imagesize
Определяет количество байт для хранения части изображения.
Initgraph
Инициализирует графическую систему.
Installuserdriver
Установка нового драйвера устройства.
Installuserfont
Загрузка нового файла шрифта.
line
Вычерчивает линию между двумя заданными точками
linerel
Вычерчивает прямую от текущей позиции до заданной.
lineto
Вычерчивает прямую от текущей позиции до заданной (x,y).
moverel
Изменяет значение текущей позиции (CP) экрана на определенную величину.
moveto
Устанавливает текущую позицию (СР) в (x,y)
outtext
Выводит строку символов в окно
outtextxy
Выводит на экран строку, начиная с указанной позиции
pieslice
Вычерчивает и заполняет сектор круга
putimage
Выводит на экран графическое изображение
putpixel
Вычерчивает заданную точку (элемент изображения)
rectangle
Вычерчивает прямоугольник
registerbgidriver
Связывает загруженный пользователем или встроенный в систему драйвер графической системы с самой графической системой.
restorecrtmode
Восстанавливает режим монитора таким, каким он был до вызова initgraph
sector
Вычерчивает и заполняет сектор эллипса
setactivepage
Устанавливает активную для графического вывода страницу
setallpalette
Изменяет все цвета палитры на заданные
setaspectratio
Изменяет значение по умолчанию коэффициента сжатия
setbkcolor
Устанавливает текущий цвет фона, используя палитру
setcolor
Устанавливает текущий цвет вычерчивания, используя палитру.
setfillpattern
Устанавливает определенный пользователем шаблон заполнения.
setfillstyle
Устанавливает шаблон и цвет заполнения
setgraphbufsize
Задает пользовательский коэффициент увеличения символов для штриховых шрифтов
setgraphmode
Переводит систему в графический режим и очищает экран
setlinestyle
Устанавливает текущие толщину и тип линии
setpalette
Изменяет один цвет палитры
setrgbpalette
Позволяет пользователю определять цвета для IBM8514
settextjustify
Выравнивает строки текста для графических функций.
settextstyle
Устанавливает текущие текстовые характеристики для графических функций
setusercharsize
Задает пользовательский коэффициент увеличения символов для штриховых шрифтов
setviewport
Устанавливает для графического вывода текущее графическое окно
setvisualpage
Устанавливает номер отображаемой страницы
setwritemode
Устанавливает режим записи для рисуемой линии в графическом режиме.
textheight
Возвращает высоту строки в точках растра.
textwidht
Возвращает ширину строки в точках растра.
-----------------------------------------------------------------
arc
-----------------------------------------------------------------
Назначение:Рисует круговую дугу.
Синтаксис: #include<graphiсs>
void far arc (int x, int y, int stangle,
int endangle, int radius);
Замечания:arc чертит круговую дугу текущего цвета рисова-
ния с центром в (x,y) и радиусом, заданным в
radius. arc чертит от stangle до endangle. Если
stangle=0, а endangle =360, то вызов arc приво-
дит к вычерчиванию полной окружности.
Угол для arc формируются против часовой стрел-
ки. При этом 0 градусов соответствует 3 часам,
90 градусов соответствуют 12 часам и т.д.
Замечание: при вычерчивании дуги, окружности,
эллипса и сектора для определения типа линии
используется параметр thickness а не linestyle.
Замечание: при использовании графического адап-
тера CGA или монохромного адаптера приведенные
в данном материале примеры могут не привести к
ожидаемому результату. Это объясняется тем, что
вам необходимо передать значение 1 графическим
функциям (например, setcolor, setfillstyle,
setlinestyle), которые изменяют цвет наполнения
(закрашивания) и рисования, вместо соответству-
ющей символьной константы цвета (определена в
grafics.h). Второй примерв данном разделе ил-
люстрирует построение графиков в случае исполь-
зования адаптеров CGA или монохромного адапте-
ра.
ВозвращаемоеНет.
значение
Переносимость:Данная функция работает только на IBM PC и
совместимых моделях при наличии соответствующих
графических адаптеров.
Смотри также: circle, ellipse, fillellipse, getarccoords,
sector
Пример1 Синтаксис: графических функций для адаптеров
EGA и VGA.
#inсlude<graphics.h>
#inсlude<conio.h>
main ()
{
int graphdriver = DETECT, graphmode; /* требование
автоопределения */
struct arccoordstype arcinfo;
int xasp, yasp;
long xlong;
initgraph(&graphdriver, &graphmode, " "); /* инициали-
зация графики */
/* Начертить дугу в 90 градусов с радиусом 50 */
arc(150, 150,0,89,50);
/* Получить координаты дуги и соединить концы */
getarccoords (&arcinfo);
line(arcinfo.xstart, arcinfo.ystart, arcinfo.xend,
arcinfo.yend);
/* Нарисовать окружность */
circle(150,150,100);
/* Нарисовать эллипс внутри окружности */
ellips(150,150,0,359,100,50);
/* Нарисовать и заполнить круговой сектор */
setcolor(WHITE); /* белый рисунок */
setfillstyle(SOLID_FILL, LIGHTRED);
pieslice(100,100,0,134,49);
setfillstyle(SOLID_FILL, LIGHTBLUE);
pieslice(100,100,135,225,49);
setfillstyle(SOLID_FILL, WHITE);
pieslice(100,100,225,360,49);
/* Начертить "квадратный" прямоугольник */
getaspectratio(&xasp, &yasp);
xlong = (100L*(long)yasp)/(long)xasp;
rectangle(0,0, (int)xlong, 100);
getch();
closegraph();
}
Пример2 Синтаксис: графических функций для адаптеров
CGA и монохромного адаптера.
#inсlude<graphics.h>
#inсlude<conio.h>
main ()
{
int graphdriver = DETECT, graphmode; /* требование
автоопределения */
struct arccoordstype arcinfo;
int xasp, yasp;
long xlong;
initgraph(&graphdriver, &graphmode, " "); /* инициали-
зация графики */
/* Начертить углы в 90 градусов с радиусом 50 */
arc(150, 150,0,89,50);
/* Получить координаты дуги и соединить концы */
getarccoords (&arcinfo);
line(arcinfo.xstart, arcinfo.ystart, arcinfo.xend,
arcinfo.yend);
/* Нарисовать окружность */
circle(150,150,100);
/* Нарисовать эллипс внутри окружности */
ellips(150,150,0,359.100,50);
/* Нарисовать и заполнить круговой сектор */
setfillstyle(HATCH_FILL, 1);
pieslice(100,100,0,134,49);
setfillstyle(SLASH_FILL, 1);
pieslice(100,100,135,225,49);
setfillstyle(WIDE_DOT, 1);
pieslice(100,100,225,360,49);
/* Начертить "квадратный" прямоугольник */
getaspectratio(&xasp, &yasp);
xlong = (100L*(long)yasp)/(long)xasp;
rectangle(0,0, (int)xlong, 100);
getch();
closegraph();
}
----------------------------------------------------------------
bar
----------------------------------------------------------------
Назначение:Вычерчивание полосы.
Синтаксис:#include<graphics.h>
void far bar (int left, int top, int right,
intbottom);
Замечания:bar вычерчивает заполненную прямоугольную
полосу. Полоса заполняется с использованием те-
кущего шаблона и цвета заполнения. bar вычерчи-
вает неокантованную полосу; для получения окан-
тованной двумерной полосы используйте bar3d с
аргументом depth=0.
Верхний левый и нижний правый углы прямоуголь-
ника задаются параметрами (left, top) и (right,
bottom) соответственно. Координаты задаются в
единицах растра.
ВозвращаемоеНет.
значение
Переносимость:Данная функция работает только на IBM PC и
совместимых моделях при наличии соответствующих
графических адаптеров.
Смотри также: bar3d, rectangle, setcolor, setfillstyle
Пример
#include<graphics.h>
main()
{
/* требование автоопределения */
int graphdriver = DETECT, graphmode;
/* инициализация графики */
initgraph(&graphdriver, &graphmode, "");
setfillstyle(SOLID_FILL, MAGENTA);
bar3d(100,10,200,100,5,1);
setfillstylle(HATCH_FILL, RED);
bar(30,30,80,80);
getche();
closegraph();
}
-----------------------------------------------------------------
bar3d
-----------------------------------------------------------------
Назначение:Вычерчивание трехмерной полосы.
Синтаксис:#include<graphics.h>
void far bar3d (int left, int top, int right
int bottom, int depth,
int topflag);
Замечания:bar3d вычерчивает трехмерную прямоугольную по-
лосу с дальнейшим заполнением ее текущими шаб-
лоном и цветом заполнения. Трехмерная окантовка
полосы рисуется текущими стилем и цветом линии.
Глубина полосы в точках растра задается пара-
метром depth.
Параметр topflag регулирует необходимость вы-
черчивания трехмерной вершины полосы. Если
topflag не ноль, то вершина вычерчивается, в
противном случае - нет (делая возможным вычер-
чивание нескольких полос одна над другой).
Верхний левый и нижний правый углы прямоуголь-
ника задаются параметрами (left, top) и (right,
bottom) соответственно. Координаты задаются в
единицах растра.
Для вычисления типовой глубины трехмерной поло-
сы, обычно берется 25% ширины полосы, например:
bar3d (left, top, right, bottom,
(right-left)/4,1);
ВозвращаемоеНет.
значение
Переносимость:Данная функция работает только на IBM PC и
совместимых моделях при наличии соответствующих
графических адаптеров.
Смотри также: bar, rectangle, setcolor, setfillstyle
ПримерСмотри bar
-----------------------------------------------------------------
circle
-----------------------------------------------------------------
Назначение:Вычерчивает круг.
Синтаксис:#include<graphics.h>
void far circle(int x, int y, int radius);
Замечания:circle чертит круг с центром в (x,y) и радиу-
сом, заданным в radius.
Замечание: при вычерчивании дуги, окружности,
эллипса и сектора для определения типа линии
используется параметр thickness а не linestyle.
ВозвращаемоеНет.
значение
Переносимоcть:: Данная функция работает только на IBM PC и сов-
местимых моделях при наличии соответствующих
графических адаптеров.
Смотри также: circle, ellipse, fillellipse, getarccoords,
sector
Пример Смотри arc
-----------------------------------------------------------------