Функция CreateCompatibleBitmap создает точечный рисунок, совместимый с устройством, которое связано с заданным контекстом устройства.
Синтаксис
HBITMAP CreateCompatibleBitmap( HDC hdc, // дескриптор DC int nWidth, // ширина рисунка, в пикселях int nHeight // высота рисунка, в пикселях ); |
Параметры
hdc
[in] Дескриптор контекста устройства.nWidth
[in] Определяет ширину точечного рисунка, в пикселях.nHeight
[in] Определяет высоту точечного рисунка, в пикселях.Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - дескриптор совместимого точечного рисунка (аппаратно-зависимая точечная картинка (DDB)).
Если функция завершается ошибкой, возвращаемое значение - ПУСТО (NULL).
Windows NT/2000/XP: Чтобы получать дополнительные сведения об ошибке, вызовите GetLastError.
Замечания
Цветовой формат точечного рисунка, созданного функцией CreateCompatibleBitmap соответствует цветовому формату устройства, идентифицированного параметром hdc . Этот точечный рисунок может выбраться в любой контекст устройства в памяти, который является совместимым с исходным устройством.
Поскольку контексты устройства в памяти допускают и цветные, и одноцветные точечные рисунки, формат такого рисунка, возвращенного функцией CreateCompatibleBitmap отличается, если заданный контекст устройства - контекст устройства в памяти. Однако, совместимый точечный рисунок, который создавался для контекста устройства не в памяти всегда, обладает одним и тем же цветовым форматом и использует одну и ту же цветовую палитру, что и заданный контекст устройства.
Обратите внимание! на то, что: если создается контекст устройства в памяти , он вначале имеет одноцветный точечный рисунок размером 1 Х 1 пиксель, выбранный в него. Если этот контекст устройства в памяти используется функцией CreateCompatibleBitmap, точечный рисунок, который создается является одноцветным точечным рисунком. Чтобы создать цветной рисунок, используйте hDC, который был использован для, создания контекста устройства в памяти, как показано в нижеследующем коде: |
HDC memDC = CreateCompatibleDC ( hDC ); HBITMAP memBM = CreateCompatibleBitmap ( hDC ); SelectObject ( memDC, memBM ); |
Если приложение устанавливает параметры nWidth или nHeight в нуль, CreateCompatibleBitmap возвращает дескриптор одноцветного точечного рисунка размером 1 на 1 пиксель.
Если секция DIB, которая является точечным рисунком, созданным функцией CreateDIBSection, выбирается в контекст устройства, идентифицированный параметром hdc , функция CreateCompatibleBitmap создает секцию DIB.
Когда Вам больше не нужен точечный рисунок, вызовите функцию DeleteObject, чтобы удалить его.
Windows 95/98/Me: Созданный точечный рисунок по величине не может быть больше 16 МБ.
Код примера
Пример смотри в статье Масштабирование изображения.
Смотри также
Обзор Точечные рисунки, Функции, используемые точечными рисунками, CreateDIBSection, DeleteObject, SelectObject
Размещение и совместимость CreateCompatibleBitmap |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Gdi32.lib |
Заголовочный файл |
|
- объявлено в |
Wingdi.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |