Тема 14. Построение изображений на экране

Система координат

X
Y
(0,0)
Для построения изображения на экране в графическом режиме применяется система координат несколько отличная от используемой в текстовом режиме.

Отчет начинается от верхнего левого угла экрана, который имеет координаты (0,0). Значение Х (столбец) увеличивается в направлении слева на право, значение Y (строка) – в направлении сверху вниз. При этом экран представляется в виде прямоугольного массива адресуемых точек, а не символов, как в текстовом режиме. Для различных типов адаптеров и режимов значения количества точек по вертикали и горизонтали могут существенно различаться. Определение значений максимальных координат экрана в модуле Graph реализовано с помощью функций:

GetMaxX: integer; GetMaxY: integer;

Если при адресации точек указываются значения координат, превышающие максимальные, операция игнорируется.

Управление текущим указателем

Чтобы построить изображение, необходимо обязательно указать начальную позицию. В текстовых режимах эту позицию определяет положение курсора, который размещается каждый раз за последним отображенным символом и указывает на местоположение следующего. В графических режимах видимого курсора нет, но есть невидимый текущий указатель CP (current pointer), выполняющий те же функции, что и курсор в текстовом режиме.

В графическом режиме для перемещения СР используются процедуры MoveTo и MoveRel.

Процедура

MoveTo (x,y:integer);

перемещает текущий (курсор) указатель в точку с координатами (x,y).

Процедура

MoveRel(d x,dy:integer);

перемещает СР на d x точек по горизонтали и на dy по вертикали относительно последнего положения текущего указателя. При задании положительных значений d x или dy значения будут увеличиваться, при задании отрицательных – уменьшаться.

Для определения текущего положения графического курсора используются функции

GetX: integer; GetY: integer;

возвращающие значения текущих координат указателя (абсциссы и ординаты соответственно). Функции позицирования текущего указателя и определения его местонахождения работают корректно даже в случае задания значений координат, превышающих допустимые.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: