
ГРАФИЧЕСКИЕ ПРИМИТИВЫ В ЯЗЫКАХ ПРОГРАММИРОВАНИЯ
12
Узнать, какой именно режим в действительности установлен, можно при помощи функции
getgraphmode:
int far getgraphmode ( void );
Для очистки экрана удобно использовать функцию clearviewport:
void far clearviewport ( void );
Работа с отдельными точками
Функция putpixel ставит пиксел заданного цвета Color в точке с координатами (х, у):
void far putpixel ( int x, int у, int Color );
Функция getpixel возвращает цвет пиксела с координатами (х, у):
unsigned far getpixel ( int x, int у );
Рисование линейных объектов
При рисовании линейных объектов основным инструментом является перо, которым эти
объекты рисуются. Перо имеет следующие характеристики:
• цвет (по умолчанию белый);
• толщина (по умолчанию 1);
• шаблон (по умолчанию сплошной).
Шаблон служит, для рисования пунктирных и штрихпунктирных линий. Для установки
параметров пера используются следующие функции выбора.
Процедура setcolor устанавливает цвет пера:
void far setcolor ( int Color );
Функция setlinestyle определяет остальные параметры пера:
void far setlinestyle ( int Style, unsigned Pattern, int Thickness );
Первый параметр задает шаблон линии. Обычно в качестве этого параметра выступает один
из предопределенных шаблонов: SOLID_LINE, DOTTED_LINE, CENTER_LINE,
DASHED_LINE, USERBIT_LINE и другие. Значение USERBIT_LINE означает, что шаблон
задается (пользователем) вторым параметром. Шаблон определяется 8 битами, где значение бита
1 означает, что в соответствующем месте будет поставлена точка, а значение 0 что точка
ставиться не будет.
Третий параметр задает толщину линии в пикселах. Возможные значения параметра
NORM_WIDTH и THICK_WIDTH (1 и 3).
При помощи пера можно рисовать ряд линейных объектов прямолинейные отрезки, дуги
окружностей и эллипсов, ломаные.
Рисование прямолинейных отрезков
Функция line рисует отрезок, соединяющий точки (x
1
, y
1
) и (x
2
,y
2
):
void far line ( int x1, int y1, int x2, int y2 );
Рисование окружностей
Функция circle рисует окружность радиуса r с центром в точке (х, y):
void far circle ( int x, int y, int r );
Рисование дуг эллипса
Функции arc и ellipse рисуют дуги окружности (с центром в точке (х, у) и радиусом r) и
эллипса (с центром (x, y), полуосями rx и ry, параллельными координатным осям), начиная с
угла StartAngle и заканчивая углом EndAngle.
Углы задаются в градусах в направлении против часовой стрелки (рис. 2):
void far arc (int x, int y, int StartAngle, int EndAngle, int r);
void far ellipse (int x, int y, int StartAngle, int EndAngle, int rx, int ry);