Функция CreateBitmapIndirect (wingdi.h)
Функция CreateBitmapIndirect создает растровое изображение с заданной шириной, высотой и цветовым форматом (цветовые плоскости и биты на пиксель).
Синтаксис
HBITMAP CreateBitmapIndirect(
[in] const BITMAP *pbm
);
Параметры
[in] pbm
Указатель на структуру BITMAP , содержащую сведения о растровом рисунке. Если приложение устанавливает элементы bmWidth или bmHeight равным нулю, CreateBitmapIndirect возвращает дескриптор монохромного растрового изображения 1 на 1 пикселя.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение является дескриптором для растрового изображения.
Если функция завершается сбоем, возвращается значение NULL.
Эта функция может возвращать следующие значения.
Код возврата | Описание |
---|---|
|
Один или несколько входных параметров недопустимы. |
|
Растровое изображение слишком велико для выделения памяти. |
Комментарии
Функция CreateBitmapIndirect создает зависимое от устройства растровое изображение.
После создания растрового изображения его можно выбрать в контексте устройства, вызвав функцию SelectObject . Однако растровое изображение можно выбрать в контексте устройства, только если растровое изображение и контроллер домена имеют одинаковый формат.
Хотя функцию CreateBitmapIndirect можно использовать для создания цветных растровых изображений, для повышения производительности приложения должны использовать CreateBitmapIndirect для создания монохромных растровых изображений и CreateCompatibleBitmap для создания цветных растровых изображений. Всякий раз, когда цветовое растровое изображение из CreateBitmapIndirect выбирается в контексте устройства, система должна убедиться, что растровое изображение соответствует формату контекста устройства, в который она выбирается. Так как CreateCompatibleBitmap принимает контекст устройства, он возвращает растровое изображение, формат которого совпадает с заданным контекстом устройства. Таким образом, последующие вызовы SelectObject выполняются быстрее с цветным растровым изображением из CreateCompatibleBitmap , чем с цветным растровым изображением, возвращенным из CreateBitmapIndirect.
Если растровое изображение является монохромным, нули представляют цвет переднего плана, а другие — цвет фона для контекста целевого устройства.
Если растровое изображение больше не требуется, вызовите функцию DeleteObject , чтобы удалить его.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Gdi32.lib |
DLL | Gdi32.dll |