【求助】如何统计PE文件中的某个具有调色板的位图中调色板颜色项在位图数据中出现的次数?

CharlesYJ 2012-02-27 07:39:45
各位好!
我最近在学习有关PE文件的有关内容。假设现在我已经找到了某个具有调色板的16色位图的位图信息头BitMapInfoHeader的起始地址 p ,然后求出了调色板中共使用了6种颜色,现在我想统计一下,这6种颜色项在位图数据中的出现次数分别是多少 ,请问该如何实现?
非常感谢!
...全文
57 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lactoferrin 2012-02-28
  • 打赏
  • 举报
回复
你看一下每个像素多少位
CharlesYJ 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lactoferrin 的回复:]

弄个循环,比较
[/Quote]

请问,是不是位图数据里面的数据范围一定是在 0——5?还是说不一定?我得到的位图数据里有大于5的值……不知道怎么处理了……

谢谢!
CharlesYJ 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhao4zhong1 的回复:]

既然有一个6色调色板,那么对应位图数据中的像素值取值范围应该是0..5分别对应6种颜色。比如2×3位图
1 1
2 0
4 2
中颜色和出现次数
0 1
1 2
2 2
3 0
4 1
5 0
[/Quote]

这么说调色板中的颜色项编号一定是0——5吗?可是我得到的位图数据里出现了8、7这种大于5的索引号,请问这是为什么?是不是我的程序错了还是说编号不一定就是0——5?

谢谢!
Lactoferrin 2012-02-28
  • 打赏
  • 举报
回复
弄个循环,比较
赵4老师 2012-02-28
  • 打赏
  • 举报
回复
既然有一个6色调色板,那么对应位图数据中的像素值取值范围应该是0..5分别对应6种颜色。比如2×3位图
1 1
2 0
4 2
中颜色和出现次数
0 1
1 2
2 2
3 0
4 1
5 0
CharlesYJ 2012-02-28
  • 打赏
  • 举报
回复
有人知道吗?诚心求教...自己先顶一下!
CharlesYJ 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lactoferrin 的回复:]

你看一下每个像素多少位
[/Quote]

biCount = 4,就是说这是个16色的位图,但是这个位图实际只使用了6种颜色,我的理解对不对?
那这么说,所以每个像素是4位!但是这个4位的位图数据的取值范围只会是 0——5 吗?

我搞不懂了...

谢谢!

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧