Функция SetDIBits


Функция SetDIBits устанавливает пиксели в совместимом точечном рисунке (DDB), используя данные о цвете, найденные в заданном аппаратно-независимом растровом формате (DIB).

Синтаксис
int SetDIBits(
  HDC hdc,                  // дескриптор DC
  HBITMAP hbmp,             // дескриптор рисунка
  UINT uStartScan,          // начальная строка развертки
  UINT cScanLines,          // число строк развертки
  CONST VOID *lpvBits,      // битовый массив рисунка
  CONST BITMAPINFO *lpbmi,  // данные рисунка
  UINT fuColorUse           // тип используемых индексов цвета
);

Параметры

hdc

[in] Дескриптор контекста устройства.

hbmp

[in] Дескриптор совместимого точечного рисунка (DDB), который будет видоизменен, используя данные о цвете из заданного аппаратно-независимого растрового формата (DIB).

uStartScan

[in] Определяет начальную строку развертки для не зависящих от устройства данных о цвете в массиве, на который указывает параметр lpvBits .

cScanLines

[in] Определяет число строк развертки, найденных в массиве, содержащем не зависящие от устройства данные о цвете.

lpvBits

[in] Указатель на данные о цвете аппаратно-независимого растрового формата (DIB), сохраненные как массив байтов. Формат растровых значений зависит от члена biBitCount структуры BITMAPINFO, на которую указывает параметр lpbmi .

lpbmi

[in] Указатель на структуру BITMAPINFO, которая содержит информацию об аппаратно-независимом растровом формате (DIB).

fuColorUse

[in] Определяет, предусматривался ли член bmiColors структуры BITMAPINFO и, если это так, содержит ли  член bmiColors значения (RGB) чистого красного, зеленого, синего цвета  или индексы палитры. Параметр fuColorUse  должен быть одним из нижеперечисленных значений.
Значение Предназначение
DIB_PAL_COLORS Таблица цветов состоит из массива 16-битовых индексов в логической палитре контекста устройства, идентифицированного hdc параметром.
DIB_RGB_COLORS Таблица цветов предусматривается и содержит константные значения RGB.
 

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение - число скопированных строк развертки.

Если функция завершается с ошибкой, величина возвращаемого значения - нуль.

Windows NT/2000/XP: Чтобы получать дополнительные сведения об ошибке, вызовите GetLastError. Это может быть нижеследующим значением.

Значение Предназначение
ERROR_INVALID_PARAMETER Один или несколько входных параметров недопустимы.
 

Замечания

Оптимальная  скорость рисования точечного рисунка получается тогда, когда растровые биты - индексы в системной палитре.

Приложения могут извлечь системные цвета палитры и индексы при помощи вызова функции GetSystemPaletteEntries. После того, как цвета и индексы извлекутся, приложение может создать аппаратно-независимый растровый формат (DIB). Подробную информацию см. в статье Системная палитра.

Контекст устройства, идентифицированный параметром hdc  используется только тогда, если для  параметра  fuColorUse устанавливается  константа DIB_PAL_COLORS; в противном случае он игнорируется.

Точечный рисунок, идентифицированный параметром hbmp не должен выбраться в контекст устройства, когда приложение вызывает эту функцию.

Строки развертки должны выравниваться по границе двойного слова (DWORD), исключая RLE-сжатые точечные рисунки.

Начало координат для идущих снизу вверх растровых форматов (DIB) - это левый нижний угол точечного рисунка; начало координат для идущих сверху вниз растровых форматов (DIB) - левый верхний угол битового образа.

ICM:  Управление цветом выполняется. Совокупность параметров цветов текущего контекста устройства используется как исходная совокупность параметров цветового пространства  и  используемого цветового пространства sRGB.

Смотри также 

Обзор Точечные рисунки, Функции, используемые точечными рисунками, GetDIBits, GetSystemPaletteEntries, BITMAPINFO

Размещение и совместимость SetDIBits

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Gdi32.lib

Заголовочный файл

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Нет

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

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки
Перевод 23.12.2003 15:26 ©Copyright V. Sokovikov
Hosted by uCoz