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


структура _BITMAPINFOHEADER

Структура _BITMAPINFOHEADER определяет формат видеокадра.

Синтаксис

typedef struct _tagBITMAPINFOHEADER {
  DWORD biSize;
  LONG  biWidth;
  LONG  biHeight;
  WORD  biPlanes;
  WORD  biBitCount;
  DWORD biCompression;
  DWORD biSizeImage;
  LONG  biXPelsPerMeter;
  LONG  biYPelsPerMeter;
  DWORD biClrUsed;
  DWORD biClrImportant;
} _BITMAPINFOHEADER;

Члены

biSize

Указывает количество байтов, необходимых для структуры.

biWidth

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

biHeight

Задает высоту растрового изображения в пикселях. Если значение biHeight положительное, то растровое изображение является diB снизу вверх, а его источником является левый нижний угол. Если значение biHeight отрицательное, то растровое изображение представляет собой diB сверху вниз, а его источником является левый верхний угол. Если значение biHeight отрицательное, указывающее на diB сверху вниз, biCompression должно быть либо BI_RGB, либо BI_BITFIELDS. Не удается сжать диаби-файлы сверху вниз.

biPlanes

Указывает количество плоскостей для целевого устройства. Это значение должно быть равно 1.

biBitCount

Указывает количество битов на пиксель. Элемент biBitCount структуры BITMAPINFOHEADER определяет количество битов, определяющих каждый пиксель, и максимальное количество цветов на растровом рисунке. Этот элемент должен иметь одно из следующих значений.

Значение Описание
1 Растровое изображение является монохромным, а член bmiColors содержит две записи. Каждый бит в массиве растровых изображений представляет пиксель. Если бит является ясным, пиксель отображается с цветом первой записи в таблице bmiColors; Если бит задан, пиксель имеет цвет второй записи в таблице.
2 Растровое изображение имеет четыре возможных значения цвета.
4 Растровое изображение имеет не более 16 цветов, а член bmiColors содержит до 16 записей. Каждый пиксель на растровом рисунке представлен 4-разрядным индексом в таблице цветов. Например, если первый байт в растровом изображении 0x1F, то байт представляет два пикселя. Первый пиксель содержит цвет во второй записи таблицы, а второй пиксель содержит цвет в шестнадцатой записи таблицы.
8 Растровое изображение имеет не более 256 цветов, а член bmiColors содержит до 256 записей. В этом случае каждый байт в массиве представляет один пиксель.
16 Растровое изображение имеет не более 2^16 цветов. Если член biCompression объекта BITMAPINFOHEADER имеет значение BI_RGB, то член bmiColors имеет значение NULL. Каждое слово WORD в массиве растровых изображений представляет один пиксель. Относительная интенсивность красного, зеленого и синего цветов представлена 5 битами для каждого компонента цвета. Значение синего имеет наименьшее значение 5 бит, за которым следует по 5 битов для зеленого и красного. Самый значительный бит не используется. Таблица цветов bmiColors используется для оптимизации цветов, используемых на устройствах на основе палитры, и должна содержать количество записей, указанных элементом biClrUsed.
24 Растровое изображение имеет не более 2^24 цветов, а член bmiColors имеет значение NULL. Каждая трехбайтовая триплета в массиве точечного изображения представляет относительную интенсивность синего, зеленого и красного соответственно для пикселя. Таблица цветов bmiColors используется для оптимизации цветов, используемых на устройствах на основе палитры, и должна содержать количество записей, указанных элементом biClrUsed.
32 Растровое изображение имеет не более 2^32 цветов. Если элемент biCompression имеет значение BI_RGB, то член bmiColors имеет значение NULL. Каждый параметр DWORD в массиве растровых рисунков представляет относительную интенсивность синего, зеленого и красного цвета соответственно для пикселя. Высокий байт в каждом DWORD не используется. Таблица цветов bmiColors используется для оптимизации цветов, используемых на устройствах на основе палитры, и должна содержать количество записей, указанных элементом biClrUsed.

biCompression

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

Значение Описание
BI_RGB Несжатый формат.
BI_BITFIELDS Указывает, что растровое изображение не сжимается и что таблица цветов состоит из трех масок цвета DWORD, определяющих красный, зеленый и синий компоненты каждого пикселя соответственно. Это допустимо при использовании с растровыми изображениями 16 и 32 бит/с. Это значение допустимо в Microsoft Windows CE версии 2.0 и более поздних.

biSizeImage

Указывает размер изображения в байтах. Это значение может быть равно нулю для BI_RGB растровых изображений.

biXPelsPerMeter

Указывает горизонтальное разрешение (в пикселях на метр) целевого устройства для растрового изображения. Приложение может использовать это значение, чтобы выбрать растровое изображение из группы ресурсов, которое лучше всего соответствует характеристикам текущего устройства.

biYPelsPerMeter

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

biClrUsed

Указывает количество цветовых индексов в таблице цветов, которые фактически используются растровым рисунком. Если это значение равно нулю, то растровое изображение использует максимальное количество цветов, соответствующее значению элемента biBitCount для режима сжатия, заданного параметром biCompression.

biClrImportant

Указывает количество цветовых индексов, необходимых для отображения растрового изображения. Если это значение равно нулю, требуются все цвета.

Если параметр biClrUsed не равен нулю, а член biBitCount меньше 16, то член biClrUsed указывает фактическое количество цветов, доступных графическому обработчику или драйверу устройства. Если значение biBitCount равно 16 или больше, член biClrUsed определяет размер таблицы цветов, используемой для оптимизации производительности системных цветовых палитр. Если значение biBitCount равно 16 или 32, оптимальная цветовая палитра начинается сразу после трех масок DWORD.

Если растровое изображение является упакованным растровым рисунком (растровым изображением, в котором массив растровых рисунков сразу следует за _BITMAPINFOHEADER структурой и на который ссылается один указатель), элемент biClrUsed должен быть либо равен нулю, либо фактическому размеру таблицы цветов.

Комментарии

Эта структура содержится в структуре _VIDEOINFOHEADER .

Требования

Требование Значение
Заголовок
Wmdm.idl

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

Структуры

_VIDEOINFOHEADER