SetDIBits

SetDIBits,計算機語言函式,該函式使用指定的DIB點陣圖中發現的顏色數據來設定點陣圖中的像素。

函式功能

函式使用指定的DIB點陣圖中發現的顏色數據來設定點陣圖中的像素

函式原型

int SetDIBits(HDC hdc, HBITMAP hbmp, UINT uStartScan, UINT cScanLines, CONST VOID *lpvBits,CONST BITMAPINFO *lpbmi, UINT fuColorUse);

主要參數

hdc:指向設備環境中的句柄。
hbmp:指向點陣圖的句柄。函式要使用指定DIB中的顏色數據對該點陣圖進行更改。
uStartScan:為參數lpvBits指向的數組中的、與設備無關的顏色數據指定起始掃描線。
cScanLines:為包含與設備無關的顏色數據的數組指定掃描線數目。
lpvBits:指向DIB顏色數據的指針,這些數據存儲在位元組類型的數組中,點陣圖值的格式取決於參數lpbmi指向的BITMAPINFO結構中的成員biBitCount。
lpbmi:指向BITMAPINFO數據結構的指針,該結構包含有關DIB的信息。
fuColorUse:指定是否提供了BITMAPINFO結構中的bmiColors成員,如果提供了,那么bmiColors是否包含了明確的RGB值或調色板索引。參數fuColorUse必須取下列值,各值的含義為:
DIB_PAL_COLORS:顏色表由16bit的索引值數組組成。這些值可以對由hdc參數標識的設備環境中的邏輯調色板進行索引。
DIB_RGB_COLORS:提供了顏色表,並且表中包含了原義的RGB值。
返回值:如果函式成功,那么返回值就是複製的掃描線數;如果函式失敗,那么返回值是0。
Windows NT:若想獲得更多錯誤信息,請調用GetLastError函式。
備註:當點陣圖的位要索引到系統調色板時,可獲取最佳的點陣圖繪製速度。
應用程式可能通過調用GetSystemPaletteEntries函式來檢索系統調色板顏色和索引。在檢索到顏色和索引值之後,應用程式可以創建DIB,有關更多的信息,請參考系統調色板(System Paletle)。
只有在參數fuColorUse設定為DIB_PAL_COLORS常量時才使用參數hdc標識的設備環境,否則會忽略hdc參數中的值。
在應用程式調用該函式時,必須把由參數hbmp標識的點陣圖選入到設備環境中。
自底向上的DIB點陣圖的起始點是該點陣圖的左下角處,自頂向下的DIB點陣圖的起源點在該點陣圖的左上角處。
ICM:顏色管理照樣進行。如果指定的BITMAPINFO結構不是BITMAPV4HEADER或BITMAPV5HEADER,那么當前設備環境的顏色配置(profile)就用作源顏色配置。如果BITMAPINFO結構不是BITMAPV4HEADER或BITMAPV5HEADER,那么使用RGB顏色。如果指定的BITMAPINFO結構是BITMAPV4HEADER或BITMAPV5HEADER,那么與該點陣圖有關的顏色配置(profile)被用作源顏色。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;頭檔案:wingdi.h:庫檔案:gdi32.lib。

相關詞條

相關搜尋

熱門詞條

聯絡我們