Функция CreateBitmapIndirect


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

Нет

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

Не имеется

 

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

Hosted by uCoz