Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справка по функциям из библиотеки -graphics.h- для с++.doc
Скачиваний:
27
Добавлен:
25.05.2014
Размер:
765.95 Кб
Скачать

Содержание

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

-----------------------------------------------------------------