首页 > 休闲

您好,感谢您帮助我,其实这个昨天已经自己做出来了,我还有个比较难的问题没有攻克,您看看能不能帮我看看

更新时间2018-03-24 15:12:32

就是本来每张图片自带有256种颜色组成对不对,现在要把每一张图片的颜色减少为七到八种,然后把多张图片的颜色载入到一张颜色表上,这样颜色表最后还能空出几格用不上的,最终的效果就是每张图片的背景是同一种颜色,每一张图片的颜色表都一样,每一张图片的颜色表都包含所有图片的颜色,您能理解吗

  因很久前编制过图标提取和图标制作程序,学习了解过这方面的知识,但掌握不深。你所需要了解的,可以参考BMP(以及ICO、GIF)的结构方面的资料。根据你的叙述,就自己所知提供一点参考吧。

  1、一般图片色彩位有1位、4位、8位、16位、24位、32位,其中16位、24位、32位不需要调色板。

  2、对于256种颜色(8位)的图片,现实况下,可能用不了这么多的色彩,应该可以实现你的想法。就算色彩值占用很多,也可以通过近似色彩值来代替,以降低色彩数量,算法网上搜一下。

  3、调色板中的颜色值位置是可以人为调整的,对于256色图片来说,假如是一张已存在的图片,理论上是调色板区域的值为  00  01  02  03 .....  FF ,现在更换调色板内容,如调为 00  1F  AB  DE  ..... ,这样调整后,再对图片数据区的数值进行调整就可以了。比如原来的某个色彩值是1F,因为调色板数据调整了,所以对应的数据区数值要改为01才行。了解了这一原理,背景色的问题就好处理了,指向调色板对应的索引值即可。

  4、图片处理还需要对扫描行有所了解。对于8位及以上色彩来说,一个色彩值可能占用1、2、3或4个字节,处理起来比较方便;1位、4位的,则需要按位来处理。另外,每个扫描行占用的字节数必须是4的整数倍。按位来来计算的话,必须是32的整数倍,即从左向右按位排列,不足补0(二进制)。

  5、对于GIF、ICO来说,还涉及到透明背景的问题,略。

  或有不妥,提供一个思路吧。

当然不可以

上一篇:这个是什么意思?我中奖了?

下一篇:赵严弘老师带单怎么样?技术水平如何?