Интерфейс графического устройства GDI. Инструменты для рисования. Установка характеристик пера и кисти для рисования примитивов, страница 2

Выбор различных режимов осуществляется выбором соответствующих опций в меню Options. В программе должен быть предусмотрен выбор и изменение следующих параметров рисования.

Выбор пера:

из числа стандартных

BLACK_PEN

Черное перо

WHITE_PEN

Белое перо

NULL_PEN

Нулевое перо (ничего не рисует вне зависимости от режима смещения)

из числа настраиваемых

PS_SOLID

PS_DASH

PS_DOT

PS_DASHDOT

PS_DASHDOTDOT

PS_NULL

Для настраиваемых перьев также возможна установка следующих параметров:

тип пера косметический

·  быстрое рисование линий

·  толщина ровно один пиксель (вне зависимости от текущего режима отображения)

·  может быть сплошным, пунктирным или штриховым (в зависимости от выбранного стиля пера, см. таблицу выше)

геометрический

·  относительно медленное рисование

·  может быть любой толщины

·  всегда сплошное цвет пера толщина пера

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

В программе должен быть предусмотрен выбор следующих кистей:

из числа стандартных

WHITE_BRUSH

Сплошная белая

BLACK_BRUSH

Сплошная черная

DKGRAY_BRUSH

Сплошная темно-серая

GRAY_BRUSH

Сплошная серая

LTGRAY_BRUSH

Сплошная светло-серая

NULL_BRUSH

Нулевая кисть

из числа настраиваемых

BS_SOLID

Сплошная, заполняет внутренность фигур цветом кисти

BS_HATCHED

Штрихованная, заполняет фигуру штриховкой различных видов: VERTICAL, HORIZONTAL, BDIAGONAL, CROSS, DIAGCROSS

BS_NULL

Нулевая кисть

Также возможно изменение следующих режимов закраски: цвет закраски и наложение битовой матрицы 8х8.

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

ALTERNATE      внутренние области, в которые можно попасть извне, пересекая нечетное число раз

WINDING   все внутренние области

Режим фона определяет способ того, как будут рисоваться промежутки между точками или штрихами. При установленном режиме TRANSPARENT промежутки закрашиваться не будут и цвета останутся неизменными. В режиме OPAQUE промежутки будут закрашены текущим цветом фона.

Режим смещения (ROP) определяет, каким образом будет комбинироваться цвет пера с текущими цветами на поверхности дисплея, образуя цвет рисуемой линии.

Лабораторная работа 3

В программе должно быть реализовано меню TEXT, предназначенное для вывода шрифтов, отображаемых в окнах приложения.

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

Структура LOGFONT

IfHeight                   - Высота шрифта, логические единицы

IfWidht                    - Ширина шрифта, логические единицы

IfEscapement            - Угол нанесения текста

IfOrientation             - Наклон символов, десятые доли градуса

IfWeight                    - Толщина шрифта

IfItalic                        - Ненулевое значение означает курсив

IfUnderline                - Ненулевое значение означает подчеркивание

IfStrikeOut                - Ненулевое значение означает подчеркнутый шрифт

IfCharSet                   - Номер набора символов шрифта

IfOutPrecision           - Параметр, определяющий соответствие запрашиваемого шрифта и имеющегося в наличии

IfQuality                   - Параметр, определяющий способ обрезания изображения литер при выходе их за пределы области ограниченного вывода

IfPitchAndFamily  - Качества воспроизведения шрифта

FaceName - Ненулевое        - Имя шрифта

Значение логической единицы определяется режимом наложения.

В меню TEXT, Вы должны реализовать основные функции, предназначенные для выбора шрифта.

В подменю Font Вы должны иметь возможность выбрать шрифт двумя способами -можете указать семейство шрифта или выбрать конкретный шрифт при помощи диалоговой панели.

Подменю Orientation позволяет задать угол поворота текстовой строки, выводя ее с наклоном, повернутой вниз

Лабораторная работа 4

В приложениях Windows часто используются битовые изображения bitmap.В Windows используется два формата битовых изображений – аппаратно-зависимые DDB и аппаратно-независимый DIB.

DDB - Есть набор бит в оперативной памяти, который может быть отображен на  устройстве ввода, внутренняя структура жестко связана с аппаратными особенностями устройства вывода.

Создать демонстрационную программу работы с битовыми образами в формате DDB (GDI) – BitBlt(), StretchBlt(). Должна быть предусмотрена возможность формирования собственных битовых образов и их дальнейшее использование.

Формат DIB, как уже говорилось, аппаратно-независимый, изображения в таких форматах хранятся в файлах с определенным расширением (BMP, GIF). В лабораторной работе должна быть возможность загрузки графических форматов – BMP, GIF