Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
met_cv.doc
Скачиваний:
12
Добавлен:
04.06.2015
Размер:
973.31 Кб
Скачать

13.2. Наиболее употребляемые графические функции.

Цвет фона устанавливается функцией setbkcolor(int сolor), где аргумент - это номер или имя цвета, рекомендуется использовать имя цвета, т.к. это позволяет не запоминать нумерацию, например:

setbkcolor(LIGHTBLUE);

Функция putpixel (int x, int y, int color)ставит точку с координатами (x,y) цвета color, например:

putpixel(5,15,RED);

Цвет вычерчиваемых линий определяется функцией setcolor(int color).

Тип вычерчиваемых линий определяется функцией setlinestyle(int linestyle, unsigned upattern, int thickness), здесь linestyle определяет форму линии, которая может быть:

SOLID_LINE - сплошной,

DOTTED_LINE- точечной,

DASHED_LINE- пунктирной,

upattern задается не равной нулю, если нужно задать свою форму, thickness определяет толщину линии:

NORM_WIDTH- нормальная,

THICK_WIDTH - толстая.

Функция line(int x1,int y1,int x2,int y2) соединяет линией точки (x1,y1) и (x2,y2), например:

line (5,15,40,120);

Функция bar(int left, int top, int right, int bottom) рисует прямоугольник, смысл аргументов такой же как у функции setviewport(), заполнение прямоугольника определяется функцией setfillstyle(int рattern,int сolor), где сolor - цвет заполнения, а рattern тип заполнения. Возможны следующие основные типы заполнения:

EMPTY_FILL- не заполняется,

SOLID_FILL- сплошное заполнение заданным цветом,

LINE_FILL - заполнение прерывающейся линией ----,

LTSLASH_FILL - заполнение наклонной линией ///,

LTBKSLASH_FILL- заполнение наклонной линией \\\.

Пример:

setfillstyle(SOLID_FILL,WHITE);

bar(34,25,125,75);

Функция bar3d(int left, int top, int right, int deрth, int topflag) рисует прямоугольный параллелепипед, где аргумент deрth определяет третье измерение, а topflag - необходимость вычерчивания верхней поверхности (1 - нужно вычерчивать).

Функция circle(int x,int y,int radius) рисует окружность с центром в точке (x,y) и радиусом radius.

Функции arc(), ellipse(), fillpoly() - рисуют, соответственно, дугу, эллипс и многоугольник, информацию об их аргументах и о многих других функциях можно получить из редактора языка Си, подведя курсор на имя интересующей функции и нажав Ctrl-F1.

Функция floodfill(int x, int y, int border) заполняет область экрана, ограниченную любой замкнутой линией, здесь border цвет этой линии. (x,y) любая точка заполняемой области. Цвет и тип заполнения определяется функцией setfillstyle().

Функция outtextxy(int x, int y, char far *textstring) выводит в точку (x,y) заданный текст, цвет букв определяется функцией setcolor(), а графика, направление надписи и размеры - функцией settextstyle(int font, int direction, int charsize).

В конце программы нужно обязательно закрыть графический режим функцией closegraph().

13.3. Примеры программ использующих графический режим. Разноцветные концентрические кольца.

#include <graphics.h>

#include <conio.h>

Void main()

{ int graphdriver=DETECT,graphmode,i;

Initgraph(&graphdriver,&graphmode," ");

setgraphmode(VGAHI);

clearviewport();

setviewport(0,0,640,449,0);

setbkcolor(BLACK);

setcolor(WHITE);

for(i=0;i < 16;i++)

{ circle(320,240,10*(i+1));

setfillstyle(SOLID_FILL,i);

floodfill(325+10*i,240,WHITE);

}

getch();

closegraph();

}

Программа рисует концентрические кольца всех 16-ти цветов, функция getch(), как указывалось выше, прерывает выполнение программы до нажатия любой клавиши, позволяя сохранять графический рисунок на экране нужное время.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]