Функция 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
Указывает, как система инициализирует битовые изображения. Определяется следующее значение.
Если значение fdwInit равно нулю, система не инициализирует битовые изображения.
[in] pjBits
Указатель на массив байтов, содержащий исходные данные растрового изображения. Формат данных зависит от элемента biBitCount структуры BITMAPINFO , на которую указывает параметр lpbmi .
[in] pbmi
Указатель на структуру BITMAPINFO , которая описывает размеры и формат цвета массива, на который указывает параметр lpbInit .
[in] iUsage
Указывает, был ли инициализирован член bmiColors структуры BITMAPINFO и, если да, содержит ли bmiColors явные красные, зеленые, синие (RGB) значения или индексы палитры. Параметр fuUsage должен иметь одно из следующих значений.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение является дескриптором совместимого растрового изображения.
Если функция завершается сбоем, возвращается значение 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 |