КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Координаты, окна и страницы
Управление графическими режимами. Инициализация и закрытие графического режима
Процедура инициализации InitGraph. Простейшая программа, использующая графику, обязательно должна содержать блок вызова процедур инициализации графического режима и обращение к процедуре его закрытия. Такой блок инициализирует режим, проверяет правильность переключения и, если все операции прошли успешно, допускает дальнейшую работу программы. Процедура инициализации объявлена следующим образом: InitGraph (VAR GraphDriver; {тип адаптера} VAR GraphMode Integer; {режим графики} DriverPath: String); {путь к драйверу} Пример: Program KurZast; Uses crt,graph; Var driver,mode:integer; Begin driver:=detect; initgraph(driver,mode,); End.
В модуле Graph определены константы для задания вида адаптера параметром GraphDriver перед вызовом InitGraph. Detect = 0; { автоопределение} Функции GetMaxX и GetMaxY. Возвращают значения типа Word, содержащие максимальные координаты экрана в текущем режиме работы соответственно по горизонтали и вертикали. Функции GetX и GetY. Возвращают значения типа Integer, содержащие текущие координаты указателя соответственно по горизонтали и вертикали. Координаты определяются относительно левого верхнего угла окна или, если окно не установлено, экрана. Процедура SetViewPort. Устанавливает прямоугольное окно на графическом экране. Заголовок: Procedure SetViewPort{XI,Y1,X2,Y2: Integer; ciipdn: Boolean); Здесь XI...Y2 - координаты левого верхнего (X1,Y1)и правого нижнего (X2,Y2)углов окна; ClipОn - выражение типа Boolean, определяющее «отсечку» не умещающихся в окне элементов изображения. Координаты окна всегда задаются относительно левого верхнего угла экрана. Если параметр ClipОn имеет значение True, элементы изображения, не умещающиеся в пределах окна, отсекаются, в противном случае границы окна игнорируются. Для управления этим параметром можно использовать такие определенные в модуле константы: const ClipOn = True; {Включить отсечку} ClipOff = False; {He включать отсечку} Следующий пример иллюстрирует действие параметра ClipOn. Программа строит два прямоугольных окна с разными значениями параметра и выводит в них несколько окружностей. Для большей наглядности окна обводятся рамками. Назначение графического окна можно использовать для перемещения начала системы координат. Так, если задать окно вызовом SetViewPort (GetMaxX div 2, GetMaxY div 2, GetMaxX, GetMaxY, ClipOff); то получим систему координат с началом в центре экрана. При этом станет «видимой» адресация отрицательных координат. Графическое окно не меняет масштаба системы координат, а лишь выбирает систему отсчета адресуемых пикселей. Для опроса текущих параметров графического окна служит процедура GetViewSettings {VAR ViewSettings: ViewPortType) Если воспользоваться ею сразу же после инициализации графического режима, то обнаружится, что графическим окном является весь экран. Это говорит о том, что для системы безразлично, какое графическое устройство отображает результат, поскольку графическое окно представляет собой некоторый универсальный интерфейс между графической программной системой и графическим устройством вывода. Для очистки рабочего пространства графического окна в модуле Graph существует специальная процедура
Дата добавления: 2014-01-20; Просмотров: 358; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |