如何把一个真彩色的BMP文件保存为灰度图? 灰度图只是一种特殊的256色位图R=G=B 你只要定义一个R=G=B的256色的调色板,然后按普通的256位图保存就是了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 同意qiling1979,自己设置一个调色版,从变化范围是0-255,然后在图像数据改成指向调色版的索引就可以了。 比如,一般灰度范围是0-255.那么假设一个数据原来的颜色是(123,123,123),那么它的索引值是123.而且位图的数据是上下颠倒,你可以按照这个原则来修改位图。当然,位图的头BITMAPINFOHEADER也得改。其中的biBitCount = 8. http://www.csdn.net/Expert/TopicView1.asp?id=604628 RGBQUAD rgb[256];memset(rgb,0,sizeof(RGBQUAD)*256);for(int ix=0;ix<256;ix++)rgb[ix].rgbBlue=rgb[ix].rgbGreen=rgb[ix].rgbRed=ix;上面是创建灰度调色板。新的pixel的颜色=red*.299+blue*.114+green*.587 根据RGB值算出象素的亮度值灰度图的调色板为:RGB(0,0,0),RGB(1,1,1)...,RGB(255,255,255) 求EVC4的串口通信程序,有界面操作的,急用!!!! VC主框架与视图 我用VC程序搜索完U盘上的文件后,U盘无法正常拔出,这是为什么?如何在不关闭我的程序下正常弹出U盘?程序如下: (懂混合的人进)VC+VB=高手问题(在线关注,立结) 项目管理人员和想做项目管理的人,快出招!!!! MFC 程序执行顺序 关于MFC动、静态链接库的语言问题 请问VISUAL C++编程工具在哪里下载呀? 请教:控件上文字的字体如何设定。 MFC Dialog响应WM_CHAR消息 重金悬赏,高手请进! 关于实时监控和Socket收发的时间问题 VERIFY 与 ASSERT 有何区别?
在图像数据改成指向调色版的索引就可以了。
比如,一般灰度范围是0-255.那么假设一个数据原来的颜色是
(123,123,123),那么它的索引值是123.而且位图的数据是上下颠倒,
你可以按照这个原则来修改位图。当然,位图的头BITMAPINFOHEADER也得改。
其中的biBitCount = 8.
memset(rgb,0,sizeof(RGBQUAD)*256);
for(int ix=0;ix<256;ix++)
rgb[ix].rgbBlue=rgb[ix].rgbGreen=rgb[ix].rgbRed=ix;
上面是创建灰度调色板。新的pixel的颜色=red*.299+blue*.114+green*.587