BMP 16Bit转成32Bit和8Bit的问题~!
数据源是128*128*16(16Bit)的图像,已经被解码了,
const unsigned char bitMapData[]=
{
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,0x76,0x3b,
像这样的数据源...
在Linux QT上实现,因为现有的QT版本不支持16Bit图像显示.....
问题点数:100、回复次数:4Top
1 楼minideveloper(明大)回复于 2005-07-01 15:55:33 得分 50
16转32:
red = (((pixel) >> 8) & 0xf8)
green = (((pixel) >> 3) & 0xfc)
blue = (((pixel) << 3) & 0xf8)
pixel为16位的像素,
把rgb分别赋给32bits的bmp,最后把32bits的透明色置零,就可以了
16转8:
现建一个通用的调色板,然后对每一个像素置为调色板的近似index就可以了Top
2 楼httpaspjspphp(小杨大刀)回复于 2005-07-01 16:03:51 得分 0
如果不要求细节的话
可以用DESTop
3 楼thuers(我什么都不会,所以我想多看看)回复于 2005-07-04 08:51:46 得分 0
UPTop
4 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-07-08 09:59:41 得分 50
建议楼主用google查查,可能会找到些有用的信息。Top




