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