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


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

Функция CreateBitmapIndirect создает растровое изображение с заданной шириной, высотой и цветовым форматом (цветовые плоскости и биты на пиксель).

Синтаксис

HBITMAP CreateBitmapIndirect(
  [in] const BITMAP *pbm
);

Параметры

[in] pbm

Указатель на структуру BITMAP , содержащую сведения о растровом рисунке. Если приложение устанавливает элементы bmWidth или bmHeight равным нулю, CreateBitmapIndirect возвращает дескриптор монохромного растрового изображения 1 на 1 пикселя.

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

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

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

Эта функция может возвращать следующие значения.

Код возврата Описание
ERROR_INVALID_PARAMETER
Один или несколько входных параметров недопустимы.
ERROR_NOT_ENOUGH_MEMORY
Растровое изображение слишком велико для выделения памяти.

Комментарии

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

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

РАСТРОВОГО ИЗОБРАЖЕНИЯ

BitBlt

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

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

CreateBitmap

CreateCompatibleBitmap

CreateDIBitmap

DeleteObject

SelectObject