Интерфейс графических устройств GDI
Интерфейс графических устройств (Graphics Device Interface - GDI) предназначен для взаимодействия приложений Windows с графическими устройствами, такими как видеомонитор, принтер или плоттер. Приложения Windows работают с логическими устройствами вывода, которые не зависят от аппаратуры и обладают практически неограниченными возможностями. Реализованный в виде библиотеки DLL интерфейс GDI является промежуточным звеном между приложением и драйвером конкретного физического устройства. Для вывода текста или графического изображения на экран видеомонитора или принтер приложение вызывает одну из функций GDI. Выполняя
63
запрос приложения, GDI обращается к драйверу соответствующего устройства вывода. В процессе выполнения запроса GDI и драйвер учитывают ограниченные возможности физического устройства вывода и его аппаратные особенности. Например, приложение может заказать для рисования линии любой цвет из примерно 16 млн. цветов. В процессе отображения линии GDI выберет максимально подходящий цвет из числа цветов, поддерживаемых физическим устройством вывода. Подобная организация вывода на устройство освобождает приложение от необходимости определения типа и характеристик физического устройства, что было необходимо при разработке программ для MS DOS. Правильным образом написанное приложение Windows будет при наличии соответствующего драйвера корректно работать с любым оборудованием, как существующим на момент разработки приложения, так и с тем, которое появится в будущем.
При написании картины художник использует лист бумаги или холст, на который при помощи кистей, красок и других инструментов наносит изображение. Аналогичным образом действуют и приложения Windows. Приложение использует устройство отображения в качестве “холста”, на который при помощи инструментов для рисования наносится изображение. Устройство отображения описывается структурой данных типа HDC, которая называется контекстом отображения. В этой структуре хранятся различные характеристики устройства отображения (контекст устройства) и набор инструментов для рисования, выбранных в контекст по умолчанию. Инструменты для рисования - это перья, кисти, цветовые палитры, шрифты, битовые изображения и т. п. Перед формированием изображения приложение выбирает в контекст отображения нужный ему инструмент при помощи соответствующих функций GDI. Функции рисования не имеют параметров, указывающих, например, цвет или ширину линии - вся необходимая информация извлекается из контекста отображения.
предыдущаяследующая