Функция 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 |
Нет |
Замечания по платформе |
Не имеется |