Инструмент 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-11; просмотров: 575;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.