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


Функция 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

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

DrvCreateDeviceBitmap

EngAllocUserMem