5.2 Построение изображений на экране
Для построения изображений на экране в графическом режиме применяется система координат, отличная от используемой в текстовом режиме. Отсчет начинается от верхнего левого угла экрана, который имеет координаты (0,0). Значение X(столбец) увеличивается в направлении слева направо, а значениеY(строка) - в направлении сверху вниз. При этом экран представляется в виде прямоугольного массива адресуемых точек, а не символов.
Определение значений максимальных координат экрана в модуле Graphреализовано с помощью функций
GetMaxX: Integer
GetMaxY: Integer
Процедура MoveTo (X, Y: Integer) перемещает текущий указатель в точку с координатамиX,Y.
Процедура MoveRel (dX, dY: Integer)перемещает текущий указатель наdXточек по горизонтали и наdYточек по вертикали относительно последнего положения текущего указателя.
Для определения текущего положения графического курсора используются функции
GetX: Integer
GetY: Integer
Процедура PutPixel (X, Y: Integer; Color: Word) отображает на экране точку с заданными координатамиX,Yи цветомC.
Процедура Line (X1, Y1, X2, Y2: Integer) выводит на экран отрезок прямой с координатами начальной (X1,Y1) и конечной (X2,Y2) точек .
Для построения отрезков применяются ещё две процедуры:
LineTo(X,Y)строит отрезок из точки текущего положения указателя до точки с координатами (X,Y)
LineRel(dX,dY)строит отрезок от точки текущего положения указателя до точки с координатами, отстоящими на расстоянииdXпо горизонтали иdY– по вертикали.
Установка стиля линии производится процедурой
SetLineStyle(LineStyle: Word; Pattern: Word; Thickness: Word)
Параметром LineStyleзадается тип строки,Pattern- шаблон,Thickness- толщина линии.
Константа |
Значение |
Характеристика линии |
SolidLn |
0 |
Сплошная |
DottedLn |
1 |
Пунктирная |
CenterLn |
2 |
Штрих- пунктирная |
DashedLn |
3 |
Штриховка |
UserBitLn |
4 |
Заданная пользователем |
NormWidth |
1 |
Нормальной толщины |
ThickWidth |
3 |
Большой толщины |
Если параметр LineStyleне равенUserBitLn, то параметрPatternне используется и обычно задается равным нулю.
Процедура Rectangle (X1, Y1, X2, Y2: Integer) строит прямоугольник на плоскости
(X1,Y1) –координаты верхнего левого угла, (X2,Y2)- координаты правого нижнего угла прямоугольника
Процедура Bar (X1, Y1, X2, Y2: Integer) рисуетпрямоугольник, внутренняя область которого залита по текущему шаблону. Данная процедура обычно используется в деловой графике для построения столбиковых диаграмм.
Процедура Bar3D (X1, Y1, X2, Y2: Integer; D3: Word; Top: Boolean) рисуетпараллелепипед, “лицевая” сторона которого залита по текущему шаблону, а глубина задается в пикселях параметромD3. ПараметрTopзадает режим отображения верхней плоскости:True- отображать,False- не отображать . Этот параметр необходим для рисования столбцов, расположенных “один на другом”.
Процедура Circle(X, Y: Integer; Radius: Word) рисует окружность (X,Y) –координаты центра окружности,Radius- ее радиус
Процедура Arc (X, Y: Integer; StEngle, EndEngle, Radius: Word) рисует дугу (X,Y) –координаты центра окружности дуги,StEngleиEndEngle- начальный и конечный углы, отсчитываемые от горизонтальной оси против часовой стрелки,Radius- радиус.
Процедура Ellipse (X, Y: Integer; StEngle, EndEngle: Word; XR, YR: Word) рисует дугу (X,Y) –координаты центра эллипса в дисплейных координатах,StEngleиEndEngle- начальный и конечный углы, отсчитываемые от горизонтальной оси против часовой стрелки,XRиYR– горизонтальная и вертикальная оси.