Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Инструмент Brush



Объект кисть – это битовый образ, свойства которого распространяются в горизонтальном и вертикальном направлениях при закрашивании области.

Имеется шесть стандартных (Stock) кистей: WHITE _ BRUSH – белая, LTGRAY _ BRUSH – светло-серая, GRAY _ BRUSH – серая, DKGRAY _ BRUSH – темно-серая, BLACK _ BRUSH – черная и NULL _ BRUSH (HOLLOW) – пустая кисть.

Выбрать одну из стандартных кистей в контекст устройства можно аналогично выбору пера, определив переменную типа описателя кисти HBRUSH hBrush; получаем описатель кисти, например, GRAY _ BRUSH:

hBrush = GetStockObject (GRAY_BRUSH);

Выберем эту кисть в контекст устройства:

SelectObject (hdc, hBrush);

Теперь внутренняя область рисуемых фигур будет закрашиваться серым.

Если необходимо нарисовать фигуру без рамки, выберем перо NULL _ PEN:

SelectObject (hdc, GetStockObject (NULL_PEN));

А если только контур фигуры без закрашивания внутренней области, выберем кисть NULL _ BRUSH:

SelectObject (hdc, GetStockObject (NULL_BRUSH));

Для создания сплошной (Solid) логической кисти:

hBrush = CreateSolidBrush (rgbColor);

Для создания штриховой (Hatch) кисти, состоящей из горизонтальных, вертикальных или диагональных линий:

hBrush = CreateHatchBrush (iHatchStyle, rgbColor);

параметр iHatchStyle – стиль штриховки: HS _ HORIZONTAL, HS _ VERTICAL, HS _ BDIAGONAL – диагональная слева направо вверх; HS _ FDIAGONAL – диагональная слева направо вниз; HS _ CROSS – прямая сетка; HS _ DIAG­CROSS – диагональная сетка; в обеих функциях rgbColor – цвет штриховых линий.

Промежутки между штриховыми линиями закрашиваются в соответствии с режимом и цветом фона, если режим фона – OPAQUE, то цвет фона используется для закрашивания промежутков между штриховыми линиями, если режим фона – TRANSPARENT, то промежутки между штриховыми линиями не зарисовываются.

Можно создавать кисти, основанные на битовых шаблонах, используя функцию CreatePatternBrush:

hBrush = CreatePatternBrush (hBitmap);

Функция, включающая три рассмотренные ранее функции, строящие кисти:

hBrush = CreateBrushIndirect (&logbrush);

переменная logbrush – структура типа LOGBRUSH («логическая кисть» – logical brush), содержащая поля:

UINT lbStyle – стиль кисти: BS _ SOLID – сплошная; BS _ HOLLOW, BS _ NULL – «пустая» (невидимая); BS _ HATCHED – штрихованная; BS _ PATTERN, BS _ PATTERN8X8 – задаются битовой картой; BS _ DIB­PATTERN, BS _ DIBPATTERN8X8, BS _ DIBPATTERNPT – задаются битовой картой DIBWindows 95 размер шаблона ограничен 8´8 точек);

COLORREF lbColor – цвет кисти, для пустой или «шаблонной» кисти игнорируется, для кистей с DIB -шаблоном младшее слово определяет, следует ли интерпретировать его цвета как заданные цветовыми компонентами (DIB _ RGB _ COLORS) или как палитровые (DIB _ PAL _ COLORS).

Значение поля lbStyle определяет, как интерпретируются другие поля:

lbStyle lbColor lbHatch
BS _ SOLID Цвет кисти Игнорируется
BS _ HOLLOW Игнорируется Игнорируется
BS _ HATCHED Цвет штриховых линий Стиль штриховки
BS _ PATTERN Игнорируется Описатель битового шаблона

Получить описатель логической кисти: SelectObject (hdc, hBrush);

Удалить созданную кисть: DeleteObject (hBrush);

Получить информацию о кисти:

GetObject (hBrush, sizeof (LOGBRUSH), &logbrush);





Дата публикования: 2015-09-17; Прочитано: 190 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...