CBitmap改变色彩位数的问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 05:41:10
CBitmap bmp;
bmp加载一幅24位真彩色位图

怎样使其变为256色的(占用的空间小)
我用bitblt截取屏幕时由于我显示设置是真彩色的
所以位图存为24色的了,
有什么方法以256色截取真彩色的屏幕

函数功能:该函数将位图的颜色数据位设置成指定值。

函数原型:LONG SetBitmapBits(HBITMAP hmbp, DWORD cBytes, CONST VOID (lpBits);

参数:

hbmp:指向要设置的位图的句柄。

cBytes:指定参数lpBits指向的数组的字节数。

lpBits:指向字节类型数组的指针。该数组中包含了指定位图的颜色数据。

返回值:如果该函数执行成功,则返回值就是在设置位图位时使用的字节数;如果失败,则返回值为0。

Windows NT:若想获得更多错误信息,请调用GetLastError函数。

备注:lpBits标识的数组必须是与WORD类型一致。

参考下:
http://www.vckbase.com/document/viewdoc/?id=674

处理位图的每个点的颜色
把每个点的颜色的RGB都乘以(2^8)/(2^24)