CBitmap改变色彩位数的问题
来源:百度知道 编辑:UC知道 时间:2024/05/22 05:41:10
CBitmap bmp;
bmp加载一幅24位真彩色位图
怎样使其变为256色的(占用的空间小)
我用bitblt截取屏幕时由于我显示设置是真彩色的
所以位图存为24色的了,
有什么方法以256色截取真彩色的屏幕
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)