Функция SetDIBits (wingdi.h)
Функция SetDIBits задает пиксели в совместимом растровом рисунке (DDB), используя цветовые данные, найденные в указанном DIB.
Синтаксис
int SetDIBits(
[in] HDC hdc,
[in] HBITMAP hbm,
[in] UINT start,
[in] UINT cLines,
[in] const VOID *lpBits,
[in] const BITMAPINFO *lpbmi,
[in] UINT ColorUse
);
Параметры
[in] hdc
Дескриптор для контекста устройства.
[in] hbm
Дескриптор совместимого растрового изображения (DDB), который необходимо изменить с помощью данных цвета из указанного DIB.
[in] start
Начальная строка сканирования для независимых от устройства цветовых данных в массиве, на который указывает параметр lpvBits .
[in] cLines
Число строк сканирования, найденных в массиве, содержающем независимые от устройства цветовые данные.
[in] lpBits
Указатель на данные цвета DIB, хранящиеся в виде массива байтов. Формат значений растрового изображения зависит от элемента biBitCount структуры BITMAPINFO , на которую указывает параметр lpbmi .
[in] lpbmi
Указатель на структуру BITMAPINFO , содержащую сведения о DIB.
[in] ColorUse
Указывает, был ли предоставлен элемент bmiColors структуры BITMAPINFO и, если да, содержит ли bmiColors явные красные, зеленые, синие (RGB) значения или индексы палитры. Параметр fuColorUse должен иметь одно из следующих значений.
Возвращаемое значение
Если функция выполнена успешно, возвращаемым значением будет количество скопированных строк сканирования.
Если функция выполняется неудачно, возвращается нулевое значение.
Это может быть следующее значение.
Код возврата | Описание |
---|---|
|
Один или несколько входных параметров недопустимы. |
Комментарии
Оптимальная скорость рисования точечного рисунка достигается, когда битовые рисунки являются индексами в системной палитре.
Приложения могут получать цвета и индексы системной палитры, вызывая функцию GetSystemPaletteEntries . После извлечения цветов и индексов приложение может создать DIB. Дополнительные сведения см. в разделе Системная палитра.
Контекст устройства, определенный параметром hdc, используется только в том случае, если для параметра fuColorUse задана константа DIB_PAL_COLORS; в противном случае он игнорируется.
Растровое изображение, определенное параметром hbmp , не должно быть выбрано в контексте устройства, когда приложение вызывает эту функцию.
Линии сканирования должны быть выровнены по DWORD , за исключением растровых изображений, сжатых RLE.
Источником для dib снизу вверх является левый нижний угол растрового изображения; Источником для diB сверху вниз является левый верхний угол растрового изображения.
ICM: Управление цветом выполняется, если управление цветом было включено при вызове Метода SetICMMode с параметром iEnableICM, для которого задано значение ICM_ON. Если точечный рисунок, заданный lpbmi , имеет BITMAPV4HEADER , указывающий элементы конечных точек и гамма- и BITMAPV5HEADER конечных точек, или элементы profileData и profileSize, то вызов обрабатывает пиксели растрового изображения как выраженные в цветовом пространстве, описываемом этими элементами, а не в исходном цветовом пространстве контекста устройства.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Gdi32.lib |
DLL | Gdi32.dll |