1.位图文件前几十字节是位图头,该结构中有该位图使用多少种颜色的信息(例如256色的,或16位等等),关于位图头的格式网上有,一搜就行了。
2.位图文件中每一个像素点的数值即是该点的RGB值。
3.根据该位图使用了多少位颜色创建一个数组,初值全赋为0,遍历每一个像素点,读出RGB值,与该RGB值相等的对应数组成员+1,此步是为了统计该图片中每个点的颜色分布。
4.遍历数组统计不为0的数组成员个数,该个数即为此位图中一共使用了多少种颜色。对应的数组下标即为RGB值。
有了RGB值显示颜色并修改应该不在话下了吧?
思路仅供参考,建议自己再多想想。
把位图装载进内存,获取位图数据进行分析就是了。