Основные типы графических объектов часто называют «примитивами». К ним относятся:
– прямые (отрезки) и кривые; GDI поддерживает прямые линии, прямоугольники, эллипсы (включая окружности), дуги и сплайны Безье; более
сложные кривые могут быть изображены как ломаные линии, состоящие из коротких прямых, определяющих кривые; линии рисуются с использованием графического объекта пера, выбранного в контексте устройства;
– закрашенные области; если набор прямых и кривых линий ограничивает со всех сторон некоторую область, то она может быть закрашена с использованием кисти, выбранной в контексте устройства;
– битовые шаблоны (растровые шаблоны, растровые образы) – это двухмерный массив бит, соответствующий пикселам устройства отображения (базовый инструмент растровой графики); битовые образы используются для отображения сложных изображений (значки, курсоры мыши, кнопки панели инструментов);
– текст, отличающийся от других объектов графики. Так как типов текста много и структуры данных, используемые для описания шрифтов (объектов GDI), а также получения информации о них – самые большие среди других структур данных в Windows, поддержка текста – часто наиболее сложная часть в системах компьютерной графики.
Пример вывода текста
Чтобы легче было разобраться в некоторых аспектах работы с графикой в среде Windows, рассмотрим программу, создающую окно, в котором выводится текст «Hello, Windows !» [34].
В тексте программы свыше 80 строк, большая часть из которых является надстройкой и будет повторяться почти в каждой программе для Windows.
В программе создается стандартное окно (рис. П 6.1), в центре рабочей области которого выводится текст «Hello, Windows !».
Это окно имеет все свойства Windows: можно захватить указателем мыши заголовок окна и перемещать его по всему экрану, можно изменить размеры окна, можно развернуть и увеличить его до размеров всего экрана, можно свернуть или завершить программу кнопкой закрытия окна.