Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Системы координат и текущий указатель.

Читайте также:
  1. A. 2.4. Показатели активности мышечной системы
  2. b. 2.5. Показатели активности дыхательной системы
  3. I. Общая характеристика жанровой системы связей с общественностью.
  4. I. Общее положение современной системы международных отношений.
  5. II. Патология нервной системы
  6. III. ГОСУДАРСТВО КАК ОСНОВНОЙ ИНСТИТУТ ПОЛИТИЧЕСКОЙ СИСТЕМЫ.
  7. III. Изменения микроглии (клетки системы мононуклеарных фагоцитов).
  8. III. Клинические проявления инфекционных болезней нервной системы
  9. III. Совершенствование системы мер по сокращению предложения наркотиков
  10. III. Требования к организации системы обращения с медицинскими отходами

Экран - прямоугольный массив адресуемых точек, и любое изображение образуется как композиция светящихся или погашенных пикселов. Каждая точка имеет горизонтальный номер nx и вертикальный номер ny.

В модуле Graph предусмотрена возможность программного опроса максимальных адресуемых координат экрана функциями

GetMaxX: Integer;

GetMaxY: Integer;

Возвращаемые ими значения соответствуют параметрам nx_max и ny_max. Точка с адресом (0,0) обычно расположена в левом верхнем углу экрана дисплея. Координаты (nx, ny) называют также координатами устройства. Они могут принимать только целые значения. Кроме того, используют физическую систему координат (px, py), где рх - физическое расстояние на экране по горизонтали, а ру - по вертикали. Расстояние измеряется в дюймах или пикселях.

Также есть так называемая мировая система координат. Это декартова система (Х,Y), определённая программистом, является независимой от типа устройства отображения. Параметры, которыми задаются диапазоны изменение X и Y (Xmin, Xmax, Ymin, Ymax), определяют прямоугольную область в абстрактном математическом двумерном пространстве.

«Текущий указатель» или графический курсор выполняет те же функции, что и курсор в текстовом режиме, при этом он является невидимым.

Положение графического курсора указывает на начальные координаты изображения графического примитива, выводимого «от текущей позиции». В графическом режиме текущий указатель перемещается специальными процедурами. В частности, процедура MoveTo(x,y:Integer) перемещает его в точку экрана с координатами (x,y). Другая процедура MoveRel(dx,dy:integer) перемещает текущий указатель на dx пикселей по горизонтали и соответственно на dy по вертикали относительно последнего положения текущего указателя. Положительные значения dx, dy увеличивают его координаты, а отрицательные - уменьшают. В системе координат дисплея ось Y направлена вниз. Если указатель надо перенести вверх, то приращение dy должно быть отрицательным.

Для определения текущего положения графического курсора используются функции GetX: Integer; GetY: Integer; возвращающие положение указателя соответственно по оси X и по оси Y.

Положение текущего указателя изменяют также процедуры LineTo, LineRel, OutText.

Все процедуры инициализации и очистки экрана (InitGraph, GraphDefaults, ClearDeviice, SetGraphMode, SetViewPort, ClearViewPort) устанавливают его в положение (0,0).

 

Рисование графических примитивов и фигур. Линии и их

Стили.

Процедура вывода отрезка на экран в текущем цвете и стиле определена в виде:

Line(X1,Y1,X2,Y2:integer).

Задаются координаты начала (X1,Y1) и конца (X2,Y2) отрезка. Возможны ещё два метода рисования отрезков:

1.Из текущей точки в точку с заданными координатами (X,Y) процедурой

LineTo(X,Y:Integer).

2.Относительно текущей позиции

LineRel(dx,dy:Integer).

Можно управлять стилем линий: задавать толщину, тип (сплошные, пунктирные).

Определены следующие типы и константы стилей изображения линий:

TYPE

LineSettingType=RECORD

LineStyle:Word; {стиль(тип)}

Pattern:Word; {шаблон типа}

Thickness:Word; {толщина}

End;

CONST

{Для значений поля LineStyle}

SolidLn =0 {сплошная линия}

DottedLn =1 {точечная линия}

CenterLn =2 {штрихпунктирная линия}

DashedLn =3 {пунктирная линия}

UserBitLn =4 {Узор линии определяет пользователь}

{Для значений поля Thickness}

NormWidth=1 {толщина линии в 1 пиксел}

ThickWidth=3 {толщина линии в 3 пиксела}

Чтобы получить информацию о текущем стиле линий, можно воспользоваться процедурой GetLineSettings(Var LineType:LineSettingType),

а чтобы установить новый стиль линий, необходимо использовать процедуру SetLineStyle(LineStyle,Pattern,Thickness:Word), подставив в неё соответствующие значения.

Если параметр LineStyle не равен UserBitLn, то значение параметра Pattern не играет роли и обычно задаётся нулём.

 




Дата добавления: 2015-02-22; просмотров: 94 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав