Функция CreateCompatibleBitmap


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

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz