Контекст устройств. GDI, драйверы и устройства вывода., страница 11

Функции DrawText и DrawTextEx используются для вывода текста со специальным форматированием в определенный прямоугольник. При выводе текста используются атрибуты форматирования, которые устанавливаются с помощью функции SetTextColor, SetTextAlign, SetBkColor, SetBkMode, SetTextCharacterExtra и SetTextJustification. Приложения могут получить размер блока текста перед его рисованием, вызвав GetTabbedTextExtent или GetTextExtentPoint32.

Замечания о печати

GDI также отвечает за обеспечение твердой копии вывода на принтер, плоттер и другие устройства вывода. Для большинства приложений нет необходимости знать подробности процесса печати Вывод на устройства, обеспечивающие твердые копии, ничем не отличается от вывода на дисплеи. Стандартный набор функций GDI вызывается для контекста принтера. Иногда необходимо узнать физические характеристики выводимой страницы и ограничения устройства (например, плоттер может не поддерживать операции с растровыми изображениями); однако, приложения WYSIWYG в большинстве случаев могут с минимальными изменениями использовать один и тот же программный код для печати и для вывода на дисплей.

В печать вовлекаются несколько компонентов Windows. Основной компонент — это спулер печати, который управляет процессом печати. Процессор печати преобразует выгруженную работу печати в вызовы драйвера устройства. Драйвер устройства генерирует неструктурированный вывод, который затем обрабатывается самим принтером. Наконец, монитор порта передает неструктурированные команды устройства на физическое устройство через определенный порт или сетевое соединение.

Существует несколько функций Win32 для работы печати, получающие информацию о задачах и о принтерах и управляющие процессом печати.

Приложения Windows 3.1 часто использовали управляющие последовательности символов для принтера при выполнении специфических задач. Новые функции Win32 заменяют их. Новым приложениям не следует использовать для управления принтером функцию Escape.

Резюме

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

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

GDI использует набор средств графического вывода:

• Перья используются для рисования линий или контуров фигур.

• Кисти используются для заполнения фигур.

• Шрифты используются для вывода текста.

• Растровые изображения являются прямоугольными массивами пикселов, в которых можно рисовать, используя контекст памяти, и которые можно обрабатывать или передавать между контекстами устройств, используя функции работы с растровыми изображениями.

• Палитры являются логическими наборами цветов, которые GDI сопоставляет как можно ближе, конфигурируя цветовые установки дисплея.

• Области являются правильными или неправильными фигурами, используемыми, например, для определения отсечений.

Отсечение — одна из ключевых возможностей GDI. Благодаря отсечениям приложениям не нужно заботиться об ограничении вывода видимой части своих окон. Приложения также могут использовать отсечения для создания различных графических эффектов.

Отображение координат, инструменты рисования и отсечения определяют, как GDI выполняет свои операции рисования. То, что на самом деле рисуется, определяется набором графических функций.