Функция EngCreateBitmap (winddi.h)
Функция EngCreateBitmap запрашивает, чтобы GDI создавал растровое изображение и управлял им.
Синтаксис
ENGAPI HBITMAP EngCreateBitmap(
SIZEL sizl,
LONG lWidth,
[in] ULONG iFormat,
[in] FLONG fl,
[in] PVOID pvBits
);
Параметры
sizl
Задает структуру SIZEL, элементы которой содержат ширину и высоту создаваемого растрового изображения в пикселях. Структура SIZEL идентична структуре SIZE .
Если значение pvBits не равно NULL, это значение должно представлять все пиксели, видимые на устройстве, что позволяет устройству хранить память вне экрана.
lWidth
Задает ширину выделения растрового изображения, то есть количество байтов, которое необходимо добавить к указателю для перемещения вниз на одну строку сканирования.
[in] iFormat
Задает формат растрового изображения с точки зрения требуемого количества битов цветовой информации на пиксель. Этот параметр может иметь одно из следующих значений:
Значение | Значение |
---|---|
BMF_1BPP | Монохромный |
BMF_4BPP | 4 бита на пиксель |
BMF_8BPP | 8 бит на пиксель |
BMF_16BPP | 16 бит на пиксель |
BMF_24BPP | 24 бита на пиксель |
BMF_32BPP | 32 бита на пиксель |
BMF_4RLE | 4 бита на пиксель; Длина выполнения в кодировке |
BMF_8RLE | 8 бит на пиксель; Длина выполнения в кодировке |
[in] fl
Битовая маска, указывающая свойства создаваемого растрового изображения. Этот параметр может иметь нулевое значение или любое сочетание следующих значений:
Значение | Значение |
---|---|
BMF_NOZEROINIT | GDI не инициализирует растровое изображение при его выделении. Этот флаг проверяется, только если параметр pvBits имеет значение NULL. |
BMF_TOPDOWN | Первая строка сканирования представляет верхнюю часть растрового изображения. Обратите внимание, что точечные изображения стандартного формата по умолчанию имеют первую строку сканирования в нижней части. |
BMF_USERMEM | GDI выделит память для растрового изображения из пользовательской памяти. По умолчанию память выделяется из адресного пространства ядра. Этот флаг следует указывать только в том случае, если создаваемое растровое изображение не будет использоваться другими процессами. Память пользователя не может быть передана в EngWritePrinter драйвером принтера. |
[in] pvBits
Указатель на первую строку сканирования создаваемого растрового изображения. Если этот параметр имеет значение NULL, GDI выделяет дисковое пространство для пикселей растрового изображения. Если значение pvBits не равно NULL, это указатель на буфер для растрового изображения.
Возвращаемое значение
Если функция завершается успешно, возвращаемое значение представляет собой дескриптор, идентифицирующий созданное растровое изображение. В противном случае возвращаемое значение равно 0. EngCreateBitmap не регистрирует код ошибки.
Комментарии
При необходимости драйвер может предоставить хранилище для растрового изображения.
Драйвер должен связать созданное растровое изображение с поверхностью, вызвав EngAssociateSurface перед возвращением из DrvEnableSurface.
Растровое изображение должно быть удалено с помощью EngDeleteSurface , если оно больше не требуется.
Драйверы отображения буфера кадров должны использовать параметр pvBits , что позволяет GDI выполнять большую часть рисования непосредственно на дисплее.
Требования
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |