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


Структура BITMAP (wingdi.h)

Структура BITMAP определяет тип, ширину, высоту, цветовый формат и битовые значения растрового изображения.

Синтаксис

typedef struct tagBITMAP {
  LONG   bmType;
  LONG   bmWidth;
  LONG   bmHeight;
  LONG   bmWidthBytes;
  WORD   bmPlanes;
  WORD   bmBitsPixel;
  LPVOID bmBits;
} BITMAP, *PBITMAP, *NPBITMAP, *LPBITMAP;

Члены

bmType

Тип растрового изображения. Этот элемент должен быть равен нулю.

bmWidth

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

bmHeight

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

bmWidthBytes

Количество байтов в каждой строке сканирования. Это значение должно быть делимо на 2, так как система предполагает, что битовые значения растрового рисунка образуют массив, выровненный по словам.

bmPlanes

Число цветовых плоскостей.

bmBitsPixel

Количество битов, необходимых для указания цвета пикселя.

bmBits

Указатель на расположение битовых значений для растрового изображения. Элемент bmBits должен быть указателем на массив символьных (1-байтовых) значений.

Комментарии

В настоящее время используются форматы растровых изображений: монохромные и цветные. В монохромном растровом рисунке используется одноуровневый формат. Каждое сканирование кратно 16 битам.

Для монохромного растрового изображения высотой n сканирование организовано следующим образом:


    Scan 0 
    Scan 1 
    . 
    . 
    . 
    Scan n-2 
    Scan n-1 

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

Все устройства с возможностью RC_BITBLT устройства поддерживают растровые изображения. Дополнительные сведения см. в разделе GetDeviceCaps.

Каждое устройство имеет уникальный цветовой формат. Чтобы передать растровое изображение с одного устройства на другое, используйте функции GetDIBits и SetDIBits .

Требования

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

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

Структуры растровых рисунков

Общие сведения о точечных изображениях

CreateBitmapIndirect

Getdibits

GetDeviceCaps

GetObject

SetDIBits