Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programming_Windows_95_Part_I.pdf
Скачиваний:
96
Добавлен:
05.06.2014
Размер:
4.61 Mб
Скачать

Глава 4 Главное о графике

4

Графический интерфейс устройства (GDI) — подсистема Windows 95, отвечающая за отображение графики (включая текст) на видеотерминалах и принтерах. Как можно догадаться, GDI — очень важная компонента Windows. Не только приложения, разрабатываемые вами, активно используют GDI для отображения информации, но и Windows сама очень активно использует его для отображения элементов пользовательского интерфейса, таких как меню, полосы прокрутки, значки и курсоры мыши.

Вероятно, программисты, работающие с MS DOS и ранними версиями Windows по принципу "делаю, что хочу", часто пользовались возможностью работать, минуя GDI, и записывать информацию непосредственно в видеопамять. Пожалуйста, никогда не помышляйте об этом. Это может доставить вам много головной боли, привести к конфликтам с другими программами Windows 95, сделать ваши программы несовместимыми с будущими версиями операционной системы.

В отличие от некоторых новых особенностей Windows 95, GDI практически не менялся с самого начала. Внутренне Windows 1.0, в основном, состояла из трех динамически подключаемых библиотек, KERNEL (ядро — обработка задач, управление памятью, файловый ввод/вывод), USER (интерфейс пользователя) и GDI. В более поздние версии Windows были включены дополнительные функциональные возможности GDI, сохраняя в основном совместимость с существующими программами, но основа GDI осталась без изменений.

Конечно, полное описание GDI потребовало бы отдельной книги. Но это не наша задача. В этой главе вам будут даны достаточные знания о GDI для понимания программ из этой книги, использующих графику, и, некоторая другая информация, которая может вам оказаться полезной.

Концепция GDI

Графика в 32-битной Windows реализуется, в основном, функциями, экспортируемыми из GDI32.DLL, динамически подключаемой библиотеки, которая часто использует 16-битную динамически подключаемую библиотеку GDI.EXE. (Динамически подключаемые библиотеки в ранних версиях Windows чаще имели расширение EXE, а не DLL). Эти модули обращаются к различным функциям драйверов отображения — .DRV файлу для видеомониторов и, возможно, к одному или нескольким .DRV файлам драйверов принтеров или плоттеров. Видеодрайвер осуществляет доступ к аппаратуре видеомонитора или преобразует команды GDI в коды или команды, воспринимаемые различными принтерами. Разные видеоадаптеры и принтеры требуют различных файлов драйверов.

Поскольку к IBM PC совместимым компьютерам может быть подключено множество различных устройств отображения, одной из основных задач GDI является поддержка аппаратно-независимой графики. Программы для Windows должны нормально работать на любых графических устройствах отображения, которые поддерживаются Windows. GDI выполняет эту задачу, предоставляя возможность отделить ваши программы от конкретных характеристик различных устройств отображения.

Все графические устройства отображения делятся на две больших группы: растровые устройства и векторные устройства. Большинство устройств, подключаемых к PC — растровые устройства, т. е. они представляют графические образы как шаблон точек. Эта группа включает видеоадаптеры, матричные принтеры и лазерные принтеры. Группа векторных устройств, отображающих графические образы с использованием линий, в основном, состоит из плоттеров.

Большинство традиционных графических программ работает исключительно с векторами. Это значит, что программа, использующая один из таких графических языков, абстрагируется от особенностей оборудования. Устройство отображения оперирует пикселями для создания графических образов, тогда как программа при связи с интерфейсом не использует понятие пикселя. Несмотря на то, что Windows GDI — это высокоуровневая

Соседние файлы в предмете Операционные системы