|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
SetDIBitsToDevice
The SetDIBitsToDevice function sets the pixels in the specified rectangle on the device that is associated with the destination device context using color data from a device-independent bitmap (DIB).
int SetDIBitsToDevice(
HDC hdc, // handle of device context int XDest, // x-coordinate of upper-left corner of dest. rect. int YDest, // y-coordinate of upper-left corner of dest. rect. DWORD dwWidth, // source rectangle width DWORD dwHeight, // source rectangle height int XSrc, // x-coordinate of lower-left corner of source rect. int YSrc, // y-coordinate of lower-left corner of source rect. UINT uStartScan, // first scan line in array UINT cScanLines, // number of scan lines CONST VOID *lpvBits, // address of array with DIB bits CONST BITMAPINFO *lpbmi, // address of structure with bitmap info. UINT fuColorUse // RGB or palette indices );
Parameters
hdc
Identifies the device context.
XDest
Specifies the x-coordinate, in logical units, of the upper-left corner of the destination rectangle.
YDest
Specifies the y-coordinate, in logical units, of the upper-left corner of the destination rectangle.
dwWidth
Specifies the width, in logical units, of the DIB.
dwHeight
Specifies the height, in logical units, of the DIB.
XSrc
Specifies the x-coordinate, in logical units, of the lower-left corner of the DIB.
YSrc
Specifies the y-coordinate, in logical units, of the lower-left corner of the DIB.
uStartScan
Specifies the starting scan line in the DIB.
cScanLines
Specifies the number of DIB scan lines contained in the array pointed to by the lpvBits parameter.
lpvBits
Points to DIB color data stored as an array of bytes.
lpbmi
Points to a BITMAPINFO structure that contains information about the DIB.
fuColorUse
Specifies whether the bmiColors member of the BITMAPINFO structure contains explicit red, green, blue (RGB) values or indices into a palette. The fuColorUse parameter must be one of the following values:
Value Meaning DIB_PAL_COLORS The color table consists of an array of 16-bit indices into the currently selected logical palette. DIB_RGB_COLORS The color table contains literal RGB values.
Return Values
If the function succeeds, the return value is the number of scan lines set. If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
Optimal bitmap drawing speed is obtained when the bitmap bits are indices into the system palette. Applications can retrieve the system palette colors and indices by calling the GetSystemPaletteEntries function. After the colors and indices are retrieved, the application can create the DIB. For more information about the system palette, see Colors. The origin of a bottom-up DIB is the lower-left corner of the bitmap; the origin of a top-down DIB is the upper-left corner.
To reduce the amount of memory required to set bits from a large device-independent bitmap on a device surface, an application can band the output by repeatedly calling SetDIBitsToDevice, placing a different portion of the bitmap into the lpvBits array each time. The values of the uStartScan and cScanLines parameters identify the portion of the bitmap contained in the lpvBits array. The SetDIBitsToDevice function returns an error if it is called by a process that is running in the background while a full-screen MS-DOS session runs in the foreground.
See Also
BITMAPINFO, GetSystemPaletteEntries, SetDIBits, StretchDIBits
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
SetDIBitsToDevice
Функция SetDIBitsToDevice устанавливает пиксели в определенном прямоугольнике на устройстве, которые связаны контекстом устройства расположения, использовавшим цветные данные из машинонезависимого побитового отображения (DIB).
int SetDIBitsToDevice(
HDC hdc, // РУЧКА контекста устройства int XDest, // x-coordinate верхнего левого угла dest. rect. int YDest, // y-coordinate верхнего левого угла dest. rect. DWORD dwWidth, // ИСХОДНАЯ ширина прямоугольника DWORD dwHeight, // исходная высота прямоугольника int XSrc, // x-coordinate левого более низкого угла исходного rect. int YSrc, // y-coordinate левого более низкого угла исходного rect. UINT uStartScan, // СТРОКА сканирования первого в массиве UINT cScanLines, // номере строк сканирования CONST ПУСТОТЫ *lpvBits, // адрес массива с битами DIB CONST BITMAPINFO *lpbmi, // адрес структуры с побитовым отображением инфо. UINT fuColorUse // RGB ИЛИ индексы палитры );
Параметры
hdc
Идентифицирует контекст устройства.
XDest
Определяет x-coordinate, на логических устройствах, верхнего левого угла прямоугольника расположения.
YDest
Определяет y-coordinate, на логических устройствах, верхнего левого угла прямоугольника расположения.
dwWidth
Определяет ширину, на логических устройствах, DIB.
dwHeight
Определяет высоту, на логических устройствах, DIB.
XSrc
Определяет x-coordinate, на логических устройствах, левого более низкого угла DIB.
YSrc
Определяет y-coordinate, на логических устройствах, левого более низкого угла DIB.
uStartScan
Определяет строку сканирования запуска в DIB.
cScanLines
Определяет число строк сканирования DIB содержимого в массиве указанном, чтобы параметром lpvBits.
lpvBits
Точки на цветные данные DIB загружали как массив байтов.
lpbmi
Точки на структуру BITMAPINFO, которые содержат информацию о DIB.
fuColorUse
Определяет содержит элемент bmiColors структуры BITMAPINFO явные красные, зеленые, синие величины (RGB) или индексы в палитру. fuColorUse Параметр должно быть одним из следующего величин:
Значение Величины DIB_PAL_COLORS цветная таблица состоит из массива 16- битовых индексов в к настоящему времени выбранную логическую палитру. DIB_RGB_COLORS цветная таблица содержит буквальные величины RGB.
Обратные Величины
Если функция добивается успеха, обратная величина является номером установленных строк сканирования. Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError.
Замечания
Оптимальное побитовое отображение, рисующее скорость получено когда биты побитового отображения являются индексами в системную палитру. Приложения могут извлечь системные цвета палитры и индексов вызывая функцию GetSystemPaletteEntries. После того, как цвета и индексы будут извлечены, приложение может создать DIB. Более подробно о системной палитре, смотри Цвета. Начало восходящего DIB является левым более низким углом побитового отображения; начало нисходящего DIB является верхним левым углом.
Для того, чтобы уменьшать сумму памяти требовавшейся, чтобы устанавливать биты из большого машинонезависимого побитового отображения на поверхности устройства, приложение может связать выход многократно вызывая SetDIBitsToDevice, устанавливая другую часть побитового отображения в массив lpvBits всякий раз, когда. Величины uStartScan и параметров cScanLines идентифицируют часть побитового отображения содержимого в массиве lpvBits. Функция SetDIBitsToDevice возвращает ошибку если она названа процессом, который работает на фоне тогда как полный-экранный сеанс МС-DOS работает в переднем плане.
Смотри Также
BITMAPINFO, GetSystemPaletteEntries, SetDIBits, StretchDIBits
|
|
|
|
| |