Поделиться через


структура LOGBRUSH32 (wingdi.h)

Структура LOGBRUSH32 определяет стиль, цвет и узор физической кисти. Он похож на LOGBRUSH, но используется для поддержания совместимости между 32-разрядными и 64-разрядными платформами, когда мы записываем запись метафайла на одной платформе, а затем воспроизводим ее на другой. Таким образом, он используется только в EMRCREATEBRUSHINDIRECT. Если код будет находиться только на одной платформе, достаточно LOGBRUSH .

Синтаксис

typedef struct tagLOGBRUSH32 {
  UINT     lbStyle;
  COLORREF lbColor;
  ULONG    lbHatch;
} LOGBRUSH32, *PLOGBRUSH32, *NPLOGBRUSH32, *LPLOGBRUSH32;

Члены

lbStyle

Стиль кисти. Элемент lbStyle должен иметь один из следующих стилей.

Значение Значение
BS_DIBPATTERN Кисть шаблона, определяемая спецификацией аппаратно-независимого растрового изображения (DIB). Если lbStyle BS_DIBPATTERN, элемент lbHatch содержит дескриптор упакованного DIB. Дополнительные сведения см. в разделе обсуждение в lbHatch.
BS_DIBPATTERN8X8 То же, что и BS_DIBPATTERN.
BS_DIBPATTERNPT Кисть шаблона, определяемая спецификацией аппаратно-независимого растрового изображения (DIB). Если lbStyle BS_DIBPATTERNPT, элемент lbHatch содержит указатель на упакованную DIB. Дополнительные сведения см. в разделе обсуждение в lbHatch.
BS_HATCHED Вылупилась кисть.
BS_HOLLOW Полая кисть.
BS_NULL То же, что и BS_HOLLOW.
BS_PATTERN Кисть шаблона, определяемая растровым изображением памяти.
BS_PATTERN8X8 То же, что и BS_PATTERN.
BS_SOLID Сплошная кисть.

lbColor

Цвет, в котором должна быть нарисована кисть. Если lbStyle является BS_HOLLOW или BS_PATTERN стилем, lbColor игнорируется.

Если lbStyle является BS_DIBPATTERN или BS_DIBPATTERNPT, слово нижнего порядка lbColor указывает, содержат ли элементы bmiColors структуры BITMAPINFO явные красные, зеленые, синие (RGB) значения или индексы в текущей реализованной логической палитре. Элемент lbColor должен иметь одно из следующих значений.

Значение Значение
DIB_PAL_COLORS Таблица цветов состоит из массива 16-разрядных индексов в реализованной в настоящее время логической палитре.
DIB_RGB_COLORS Таблица цветов содержит литеральные значения RGB.
 

Если lbStyle имеет значение BS_HATCHED или BS_SOLID, lbColor — это значение цвета COLORREF . Чтобы создать значение цвета COLORREF , используйте макрос RGB .

lbHatch

Стиль штриховки. Значение зависит от стиля кисти, определенного в lbStyle.

Если lbStyle BS_DIBPATTERN, элемент lbHatch содержит дескриптор упакованного DIB. Чтобы получить этот дескриптор, приложение вызывает функцию GlobalAlloc с GMEM_MOVEABLE (или LocalAlloc с LMEM_MOVEABLE), чтобы выделить блок памяти, а затем заполняет память упакованным DIB. Упакованный DIB состоит из структуры BITMAPINFO , за которой сразу же следует массив байтов, определяющий пиксели растрового изображения.

Если lbStyle BS_DIBPATTERNPT, элемент lbHatch содержит указатель на упакованную DIB. Указатель является производным от блока памяти, созданного Методом LocalAlloc с LMEM_FIXED задано или GlobalAlloc с GMEM_FIXED, или это указатель, возвращаемый вызовом LocalLock (handle_to_the_dib). Упакованный DIB состоит из структуры BITMAPINFO , за которой сразу же следует массив байтов, определяющий пиксели растрового изображения.

Если lbStyle BS_HATCHED, то элемент lbHatch задает ориентацию линий, используемых для создания штриховки. Может быть одним из указанных далее.

Значение Значение
HS_BDIAGONAL Люк на 45 градусов вверх слева направо
HS_CROSS Горизонтальное и вертикальное перекрестное люк
HS_DIAGCROSS 45-градусный перекрестие
HS_FDIAGONAL Люк на 45 градусов вниз, слева направо
HS_HORIZONTAL Горизонтальный люк
HS_VERTICAL Вертикальный люк
 

Если lbStyle BS_PATTERN, lbHatch — это дескриптор растрового изображения, определяющего шаблон. Растровое изображение не может быть растровым изображением раздела DIB, которое создается функцией CreateDIBSection .

Если lbStyle BS_SOLID или BS_HOLLOW, lbHatch игнорируется.

Комментарии

Хотя lbColor управляет цветом переднего плана кисти штриховки, функции SetBkMode и SetBkColor управляют цветом фона.

Кисти можно создавать из растровых рисунков или DIB размером более 8 на 8 пикселей.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть wingdi.h (включая Windows.h)

См. также раздел

BITMAPINFO

Структуры кистей

Обзор кистей

COLORREF

CreateDIBSection

EMRCREATEBRUSHINDIRECT

LOGBRUSH

RGB

SetBkColor

SetBkMode