24位BMP转为ARGB4444的算法讨论

[复制链接]
4050|4
 楼主| 艾森豪威尔 发表于 2008-3-30 15:24 | 显示全部楼层 |阅读模式
我用掩码取色的方法试验效果不是很好,转换后的图片失真比较严重。

tmp=0xF000;
tmp|= ((*p1 & 0x00F0)>>4)==0 ? ((*p1 & 0x000F)) : ((*p1 & 0x00F0)>>4) ;//b
p1++;
tmp|= ((*p1 & 0x00F0))==0 ? ((*p1 & 0x000F)<<4) : ((*p1 & 0x00F0));//g
p1++;
tmp|= ((*p1 & 0x00F0) <<4)==0 ? ((*p1 & 0x000F) <<8) : ((*p1 & 0x00F0) <<4);//r
p1++;

我看photoshop转换的效果跟我是一样的,也不理想。
谁有好一点的建议?
dld2 发表于 2008-3-30 15:46 | 显示全部楼层

不明白

首先24位变成12位本身信息量损失。
其次你这个方法本来就会让颜色改变,而不仅仅是降低分辨率。
 楼主| 艾森豪威尔 发表于 2008-3-30 18:25 | 显示全部楼层

就是因为失真严重,才请教各位有没有失真小的算法

xwj 发表于 2008-3-30 19:13 | 显示全部楼层

有,可以用空间混色的方法,但算法复杂

没有县城的软件,需要自己编
建议先自己去网上搜索图像处理算法的书看看
 楼主| 艾森豪威尔 发表于 2008-4-1 10:54 | 显示全部楼层

xwj果然是乐于助人的高手

多谢多谢~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

46

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部