- •«Национальный исследовательский
- •Т.Е. Мамонова Лабораторная работа № 12
- •220700 – «Автоматизация технологических процессов и производств».
- •Лабораторная работа № 12
- •Теоретическая часть
- •Цвет устанавливается функцией:
- •Функции для работы с терминалом в текстовом режиме (файл conio.H)
- •Некоторые графические функции
- •Порядок выполнения работы
- •Варианты заданий к лабораторной работе № 12
- •Содержание отчета
- •Список литературы
- •220700 – «Автоматизация технологических процессов и производств». Отпечатано в Издательстве тпу в полном соответствии с качеством предоставляемого оригинал-макета
- •634034, Г. Томск, пр. Ленина, 30
Цвет устанавливается функцией:
setcolor (color);
Переменная color может принимать значения от 0 до 15:
0 – черный 5 – фиолетовый 10 – светло-зеленый
1 – синий 6 – коричневый 11 – светло-голубой
2 – зеленый 7 – светло-серый 12 – розовый
3 – голубой 8 – темно-серый 13 – светло-фиолетовый
4 – красный 9 – светло-синий 14 – желтый
15 – белый
Функции для работы с терминалом в текстовом режиме (файл conio.H)
clreol – стирает символы от позиции курсора до конца строки в текстовом окне (void clreol(void));
clrscr – очищает экран (void clrscr(void));
cgets – выводит на экран строку str (char *cgets(char *str));
cprintf – выводит форматированную строку в текстовое окно, созданное функцией windows() (int cprintf(const char *format [, argument, ...]));
cputs – помещает в символьный массив str строку с клавиатуры (консоли) (int cputs(char *str));
cscanf – функция форматированного ввода, которая используется при работе с терминалом. в текстовом режиме (int cscanf(const char *format [, address,...]));
delline – удаляет строку в текстовом окне (где находится курсор) (void delline(void));
gotoxy – перемещает курсор в позицию текстового окна с координатами (x, y) (void gotoxy(int x, int y));
highvideo</FONT< td> – повышает яркость символов, выводимых на экран после ее вызова (void highvideo(void));
movetext – переносит текстовое окно в область экрана, правый верхний угол которого имеет координаты (x, y). Координаты угловых точек окна - (x0, y0), (x1, y1) (int movetext(int x0, int y0, int x1, int y1, int x, int y));
normvideo – устанавливает нормальную яркость выводимых на экран символов (void normvideo(void));
textattr – устанавливает атрибуты (фон, цвет) символов, выводимых на экран (void textattr(int newattr));
textbackground – устанавливает цвет фона по значению параметра c (void textbackground(int c));
textcolor – устанавливает цвет символов по значению параметра c (void textcolor(int c));
textmode – переводит экран в текстовый режим по значению параметра m (viod textmode(int m));
wherex – возвращает значение горизонтальной координаты курсора (int wherex(void));
wherey – возвращает значение вертикальной координаты курсора (int wherey(void));
window – создает текстовое окно по координатам угловых точек (x0, y0), (x1, y1) (void window(int x0, int y0, int x1, int y1)).
Некоторые графические функции
line (x, y, x1, y1) – чертит на экране прямую линию от точки с координатами (х, у) до точки (х1, у1);
circle (x, y, radius) – рисует окружность с центром в точке с координатами (x, y) и радиусом radius (в пикселях);
arc (x, y, w1, w2, radius) – строит дугу окружности с центром (x, y), радиусом radius, w1 - угол начальной точки дуги, w2 – угол конечной точки дуги; углы задаются в градусах, отсчет от горизонтальной оси, направленной слева направо, против часовой стрелки;
fillellipse (x, y, xr, yr) – строит эллипс с центром (x, y), xr, yr – полуоси эллипса;
ellipse (x, y, w1, w2, xr, yr) – рисует дугу эллипса с центром (x, y), w1, w2 – углы начальной и конечной точек дуги, xr, yr – полуоси эллипса;
lineto (x, y ) – рисует линию из текущей точки в точку с координатами (х, у);
moveto (x, y ) – перемещает текущую точку в точку (х, у);
rectangle (x, y, x1, y1) – рисует прямоугольник (x, y, x1, y1) – координаты левого верхнего и правого нижнего углов прямоугольника);
bar (x, y, x1, y1) – строит прямоугольник, закрашенный текущим орнаментом и цветом заполнения;
setlinestyle (x, y) – устанавливает ширину и стиль линии (x и y): 0-сплошная, 1-пунктирная, 2 – штрихпунктирная, 3 – штриховая, 4 – заданная пользователем; толщина линий 1 – нормальная, 3 – толстая.
Цвет и шаблон заполнения замкнутой области устанавливаются функцией: setfillstyle ( pattern, color ). В таблице 3 представлены значения шаблонов закрашивания.
Таблица 3. Шаблоны закрашивания (pattern)
Макрос |
Значение |
Вид заполнения |
EMPTY_FILL |
0 |
заполнение цветом фона |
SOLD_FILL |
1 |
однородное заполнение цветом |
LINE_FILL |
2 |
заполнение линиями --- |
LSTLASH_FILL |
3 |
заполнение косыми /// |
SLASH_FILL |
4 |
заполнение яркими /// |
BKSLASH_FILL |
5 |
заполнение \\\ |
LTBKSLASH_FILL |
6 |
заполнение яркими \\\ |
HATCH_FILL |
7 |
заполнение клеткой |
XHATCH_FILL |
8 |
заполнение косой клеткой |
INTERLEAVE_FILL |
9 |
заполнение частой сеткой |
WIDE_DOT_FILL |
10 |
заполнение редкими точками |
CLOSE_DOT_FILL |
11 |
заполнение частыми точками |
USER_FILL |
12 |
заполнение определяется пользователем |
Для закрашивания замкнутого контура служит функция:
floodfill (x, y, color ) где х, у – координаты внутри контура, color – цвет контура.
Для вывода текста в графическом режиме используются функции:
outtext (‘текст’) – выводит текст с текущей позиции;
outtextxy (x, y, ’ текст ’) – выводит текст с заданной позиции (x, y).
Пример 1. Программа, которая строит 10 окружностей по оси х и заполняет их различными стилями.