Параметр Patternучитывается только для линий, тип которых задает пользователь. При этом два байта параметра определяют внешний вид линии: каждый установленный бит соответствует светящемуся пикселу линии, нулевой бит – несветящемуся пикселу.
Параметр Thickness может принимать два значения:
NormWidth = 1; {толщина в один пиксел}
ThickWidth = 3; {толщина в 3 пиксела}
Для построения прямоугольника достаточно вызвать процедуру Rectangle, которая изобразит на экране прямоугольник с диагональю (x1, y1) – (x2, y2).
Procedure Rectangle (x1, y1, x2, y2 : Integer);
Различные адаптеры поддерживают разное количество цветов, выводимых одновременно на экран в графическом режиме. Но для всех BGI-драйверов оно ограничено в диапазоне 0..15.
На экране всегда различаются цвет фона и цвет пера. Все процедуры изображения фигур, если не содержат в себе явной установки цвета, рисуют эти фигуры цветом пера (как символы в текстовом режиме). Цвет пера можно установить с помощью процедуры SetColor:
Procedure SetColor(Color : Word);
Цвет фона может быть изменен процедурой SetBkColor:
Procedure SetBkColor(Color : Word);
Для опроса текущих установок цвета предусмотрены функции GetColor и GetBkColor:
Function GetColor : Word;
Function GetBkColor : Word;
Для вывода текста служат процедуры OutTextиOutTextXY. Текст выводится в соответствии с установленным стилем и выравниванием:
OutText(Text:String) – выводит на экран текст Text относительно позиции текущего указателя;
OutTextXY(x,y:Integer;TextString:String) – выводит строку относительно координат точки (x, y).
Для установки стиля текста используется процедура SetTextStyle:
Direсtion – код направления текста (по умолчанию принимается горизонтально). Возможны лишь две ориентации текста: HorizDir = 0, VertDir = 1 – константы, обозначающие горизонтальное и вертикальное расположение текста.
Size – код размера шрифта, диапазон изменения параметра составляет от 1 до 10.
Шрифты могут не поддерживать кириллицу!
Для задания выравнивания текста относительно текущего указателя используется процедура SetTextJustify:
SetTextJustify (Horizontal, Vertical : Word);
Параметры могут принимать одно из трех значений:
{Для горизонтального ориентирования (Horizontal)}
LeftText = 0; { координата Х задает левый край строки }
CenterText = 1; { координата Х задает середину строки }
RightText = 2; { координата Х задает правый край строки }
{Для вертикального ориентирования (Vertical)}
BottomText = 0; { координата Y задает нижний край строки }
CenterText = 1; { координата Y задает середину строки }
TopText = 2; { координата Y задает верхний край строки }
Текстовые процедуры GotoXY, Write/WriteLn и установки цвета текста в графическом режиме работают только, если переменная CRT.DirectVideo равна False (или модуль CRT не подключен). Ввод текста через Read/ReadLn действует всегда, при этом текст стирает фоновое изображение.
В графическом режиме для координат указателя выполняются условия:
0 <= grx <= GetMaxX
0 <= gry <= GetMaxY
Мировая система координат или декартовая система координат является независимой от типа устройства отображения. Для точки (x,y) выполняются условия:
xmin < x < xmax
ymin < y < ymax
точки (xmin, ymin) и (xmax, ymax) определяют прямоугольную область в двумерном пространстве.
Для перевода координат точки из мировой системы в систему координат графического режима можно использовать следующие процедуры: