Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Поддержка графики в Windows

Вывод графики в Windows осуществляется с помощью функций Graphics Device Interface (GDI). Функции GDI используют как сама операционная система, так и программы, функционирующие под управлением Windows.

Функции, реализованные в GDI, являются аппаратно-независимыми. Они взаимодействуют с устройством через специальную программу, называемую драйвером устройства. Такой подход позволяет приложению и операционной системе работать на компьютерах с различным периферийным оборудованием. При появлении новых моделей видеокарт, принтеров, плоттеров необходимо подключить новый драйвер. Функции GDI взаимодействуют с драйвером устройства через специальную структуру данных, называемую контекстом устройства. Эта структура содержит основные характеристики устройства и ссылки на различные средства отображения (кисти, карандаши, цвета и т.п.). Драйвер устройства преобразует аппаратно-независимые функции GDI в команды конкретного устройства. Прежде чем вызвать какую-либо функцию для отображения информации, приложение должно получить ссылку на контекст устройства вывода, а после завершения действия – освободить полученный контекст.

Таким образом, графическая система Windows является мощной, аппаратно-независимой, процедурно-ориентированной и сложной.

Восстановление изображений

Windows-приложение делит экран компьютера с другими приложениями. Совместное использование экрана обеспечивают прямоугольные окна. Во время выполнения приложения видимая часть окна может изменяться: перекрываться другими окнами, разворачиваться на весь экран и т.п. Это требует постоянного контроля за состоянием экрана и правильного восстановления утрачиваемых частей изображения. Операционная система не хранит копий выводимых на экран окон, но запоминает координаты разрушаемых частей окна в системной области, называемой областью обновления. Периодически у каждого окна проверяется область обновления, и если она оказывается не пустой, то приложению-владельцу посылается сообщение с требованием перерисовать окно. Приложение передаёт соответствующее сообщение форме. Форма восстанавливает утраченные части окна собственными средствами. С точки зрения формы сообщение о перерисовке – это системное событие, а формирование изображения – реакция на него. Для ускорения графического вывода Windows реализует отсечение. В результате при перерисовке отображаются только те части формы, которые были не видны. Рисование за границами области отсечения не выполняется. Принятый подход приводит к нарушению изображений, размеры которых зависят от размеров формы. Для таких изображений необходимо в форме определить обработчик события OnResize, поместив в него вызов метода Invalidate.

Метод Invalidate определяет всю рабочую область формы как подлежащую обновлению. После вызова метода Invalidate форма не будет перерисована сразу. Перерисовка произойдёт при очередном событии OnPaint. Если надо перерисовать форму немедленно, то следует вызвать метод Refresh.

 

<== предыдущая лекция | следующая лекция ==>
Полуцикловые неразрывные характеристики при растяжении. Жесткость материалов при растяжении | Вывод графической информации в Delphi
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 445; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.