Функция CreateBitmapIndirect создает точечный рисунок с заданной шириной, высотой и цветовым форматом (цветовые плоскости и биты на пиксель).
Синтаксис
HBITMAP CreateBitmapIndirect( CONST BITMAP *lpbm // данные точечного рисунка ); |
Параметры
lpbm
[in] Указатель на структуру BITMAP, которая содержит информацию о точечном рисунке. Если приложение устанавливает члены структуры bmWidth или bmHeight в нуль, функция CreateBitmapIndirect возвращает дескриптор одноцветного точечного рисунка размером 1 х 1 пиксель.Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - дескриптор точечного рисунка.
Если функция завершается с ошибкой, возвращаемое значение - ПУСТО (NULL).
Windows NT/2000/XP: Чтобы получать дополнительные сведения об ошибке, вызовите GetLastError. Функция может иметь ниже следующее значение.
Значение | Предназначение |
---|---|
ERROR_INVALID_PARAMETER | Один или несколько параметров неправильные. |
ERROR_NOT_ENOUGH_MEMORY | Точечная картинка слишком большая для выделенной памяти. |
Замечания
Функция CreateBitmapIndirect создает аппаратно-зависимый точечный рисунок.
После того, как точечный рисунок будет создан, он может выбраться в контекст устройства при помощи вызова функция SelectObject. Однако он может быть выбран в контекст устройства только тогда, если точечный рисунок и контекст устройства (DC) имеют один и тот же формат.
Хотя функция CreateBitmapIndirect может быть использована для создания цветного точечного рисунка, из соображений быстродействия приложения должны использовать CreateBitmapIndirect, чтобы создавать одноцветные точечные рисунки, а функцию CreateCompatibleBitmap, чтобы создавать цветные точечные рисунки. Всякий раз, когда цветной точечный рисунок при помощи CreateBitmapIndirect выбирается в контекст устройства, система должна гарантировать, что точечный рисунок соответствует формату контекста устройства, в который он выбирается. Поскольку функция CreateCompatibleBitmap получает параметры контекста устройства, она возвращает точечный рисунок, который имеет один и тот же формат, что и заданный контекст устройства. В соответствии с этим, последующие вызовы функции SelectObject более быстрые для цветного точечного рисунка из CreateCompatibleBitmap, чем для такого же рисунка, возвращенного из функции CreateBitmapIndirect.
Если точечный рисунок одноцветный, нули обозначают цвет изображения и, одновременно, обозначают цвет фона для целевого контекста устройства.
Когда Вам больше не нужен точечный рисунок, вызовите функцию DeleteObject, чтобы удалить его.
Windows 95/98/Me: Созданный точечный рисунок по величине не может быть больше 16 МБ.
Смотри также
Обзор Точечные рисунки, Функции, используемые точечными рисунками, BitBlt, BITMAP, CreateBitmap, CreateCompatibleBitmap, CreateDIBitmap, DeleteObject, SelectObject,
Размещение и совместимость CreateBitmapIndirect |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Gdi32.lib |
Заголовочный файл |
|
- объявлено в |
Wingdi.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |