Функция CreateDIBitmap (wingdi.h)

Функция CreateDIBitmap создает совместимое растровое изображение (DDB) из DIB и при необходимости задает биты растрового изображения.

Синтаксис

HBITMAP CreateDIBitmap(
  [in] HDC                    hdc,
  [in] const BITMAPINFOHEADER *pbmih,
  [in] DWORD                  flInit,
  [in] const VOID             *pjBits,
  [in] const BITMAPINFO       *pbmi,
  [in] UINT                   iUsage
);

Параметры

[in] hdc

Дескриптор для контекста устройства.

[in] pbmih

Указатель на структуру заголовка сведений о растровом рисунке , BITMAPV5HEADER.

Если fdwInit CBM_INIT, функция использует структуру заголовков сведений о растровом рисунке для получения требуемой ширины и высоты растрового рисунка, а также других сведений. Обратите внимание, что положительное значение для высоты указывает diB снизу вверх, а отрицательное значение для высоты указывает на dib сверху вниз. Вызов CreateDIBitmap с fdwInit в качестве CBM_INIT эквивалентен вызову функции CreateCompatibleBitmap для создания DDB в формате устройства, а затем вызову функции SetDIBits для преобразования битов DIB в DDB.

[in] flInit

Указывает, как система инициализирует битовые изображения. Определяется следующее значение.

Значение Значение
CBM_INIT
Если этот флаг установлен, система использует данные, на которые указывают параметры lpbInit и lpbmi , для инициализации битового изображения.

Если этот флаг не задан, данные, на которые указывают эти параметры, не используются.

 

Если значение fdwInit равно нулю, система не инициализирует битовые изображения.

[in] pjBits

Указатель на массив байтов, содержащий исходные данные растрового изображения. Формат данных зависит от элемента biBitCount структуры BITMAPINFO , на которую указывает параметр lpbmi .

[in] pbmi

Указатель на структуру BITMAPINFO , которая описывает размеры и формат цвета массива, на который указывает параметр lpbInit .

[in] iUsage

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

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

Возвращаемое значение

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

Если функция завершается сбоем, возвращается значение NULL.

Комментарии

Созданная база данных DDB будет иметь любую битовую глубину, которую имеет эталонный контроллер домена. Чтобы создать растровое изображение разной глубины, используйте CreateDIBSection.

Чтобы устройство достигло оптимальной скорости рисования растровых рисунков, укажите fdwInit в качестве CBM_INIT. Затем используйте dib с той же глубиной цвета, что и в режиме видео. Если видео работает со значением 4 или 8 bpp, используйте DIB_PAL_COLORS.

Флаг CBM_CREATDIB для параметра fdwInit больше не поддерживается.

Если растровое изображение больше не требуется, вызовите функцию DeleteObject , чтобы удалить его.

ICM: Управление цветом не выполняется. Содержимое результирующего растрового рисунка не совпадает с цветом после создания растрового рисунка.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wingdi.h (включая Windows.h)
Библиотека Gdi32.lib
DLL Gdi32.dll

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

BITMAPINFO

BITMAPINFOHEADER

Функции точечных рисунков

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

CreateCompatibleBitmap

CreateDIBSection

DeleteObject

GetDeviceCaps

GetSystemPaletteEntries

SelectObject

SetDIBits