函数功能:该函数用来对目前进入指定设备环境的设备无关位图(DIB)颜色表中的项设置RGB(红、绿、蓝)颜色值。
1 |
UINT SetDIBColorTable(HDC hdc, UINT uStartindex, UINT cEntries, CONST RGBQUAD *pColors); |
参数:
hdc:指定设备环境。一个与设备无关位图必须被选入到该设备环境中。
uStartindex:一个从零开始的颜色表索引,该索引指定了要设置的第1个颜色表项。
cEntries:指定要设置的颜色表项的数目。
pColors:指向RGBQUAD结构数组的指针。该结构包含了用于DIB颜色表的新颜色信息。
返回值:如果函数执行成功,那么返回值就是该函数设置的颜色表项的数目;如果函数执行失败,那么返回值为0。Windows NT:若想获得更多错误信息,请调用GetLastError函数。
备注:使用该函数是用来对那些使用1、4、或8位/像素格式的DIB位图的颜色表进行设置的。位图信息头结构中的成员BitCount表示了位图中每像素占多少位这种信息。
注意:位图信息头结构可以为:
Windows NT 3.51和以前版;BITMAPINFOHEADER,BITMAPINFOHEADER结构指定了每像素占多少位。BiBitCount值大于8的设备无关位图(DIB)没有颜色表。
Windows NT 4.0和Windows 95:BITMAPV4HEADER,对于Windows NT 4.0和Windows 95,与位图相关的BITMAPV4HEADER结构成员bV 4BitCount指定了每像素点占的位数。bV 4BitCount值大于8的DIB没有颜色表。
Windows NT 5.0和Windows 98:BITMAPV5HEADER,对于Windows NT 5.0和Windows 98,与位图相关的BITMAPV4HEADER结构中的成员bV 5BitCount指定了位图中每像素点占的位数。bV 5BitCount值大于8的DIB位图没有颜色表。
ICM:不进行颜色管理。
速查:Windows NT:3.5及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:wingdi.h:库文件:gdi32.lib。