主题:目前可以找到的最完整,最精细的bmp格式解析
tr0217
[专家分:730] 发布于 2009-04-27 22:36:00
写了一个位图的操作类,找了不少的bmp文件结构解析。发现没有一个完全正确的、完整的。在完成这个位图操作类后整理了这一篇位图文件解析。
可以说这是在中国能找的的,最好的bmp文件格式解析。
以前的文章里边给出的代码,是从我的位图操作类中截取的,复制过来不能直接用。
现在我又从新写了几个结构化的位图操作接口,并给出了一个例子。都添加到这个附件中了。新上传的文章里的函数也用新写的函数替换了,并且原来的文章中使用了几个常量没有说明。现在也添加进去了。
例子程序:
#include <cstdio>
#include <cstdlib>
#include "CBmp.h"
int main( int argc, char** argv )
{
CBmp tmpBmp;
if (argc!=3)
printf("usage filename1 filename2\n");
else
{
if (openBmp(tmpBmp,argv[1]))
{
DWORD imW=getWidth(tmpBmp);
DWORD imH=getHeight(tmpBmp);
BYTE * Im=new BYTE[imW*imH];
tranToArray(tmpBmp,Im);
createGrayBmp(tmpBmp,Im,imW,imH);
saveBmp(tmpBmp,argv[2]);
delete [] Im;
releaseBmp(tmpBmp);
}
else
printf("can not open %s!\n",argv[1]);
}
return 0;
}
第二次修改,文章中的两处错误。代码中的两处错误,实现也有稍微修改。
最后更新于:2009-12-21 15:20:00
回复列表 (共22个回复)
11 楼
hyfl [专家分:200] 发布于 2009-06-02 19:12:00
学习了
12 楼
dsldon [专家分:360] 发布于 2009-06-22 16:46:00
好帖,顶
13 楼
orangelegend [专家分:860] 发布于 2009-06-27 19:20:00
只记得两条了:
1.好像是按G,B,R来排的,而不是RGB。
2.好像要是4的倍数。
14 楼
haldir [专家分:0] 发布于 2009-09-17 23:10:00
谢谢啊 写的很棒!
15 楼
kaierme [专家分:970] 发布于 2009-09-19 22:11:00
吹牛吧你,只看见牛在天边飞,可以说这是在中国能找的的,最好的bmp文件格式解析。
搞个bmp文件格式解析,算什么
有本事,你搞个windows解析,Linux解析吧
16 楼
tr0217 [专家分:730] 发布于 2009-09-28 15:53:00
[quote]吹牛吧你,只看见牛在天边飞,可以说这是在中国能找的的,最好的bmp文件格式解析。
搞个bmp文件格式解析,算什么
有本事,你搞个windows解析,Linux解析吧[/quote]
谢谢你的提醒
学习吗,要循序渐进
17 楼
andy02 [专家分:0] 发布于 2009-11-25 11:58:00
谢谢~~ 。。受用一下了~~~~~~~
18 楼
tr0217 [专家分:730] 发布于 2009-12-21 15:24:00
附件中的文章及代码,又有新修改。
19 楼
lj0014 [专家分:0] 发布于 2010-03-11 10:50:00
感谢楼主 急用
20 楼
lijiao7073 [专家分:0] 发布于 2010-03-13 23:53:00
Thank you ,very much.
we are doing a project about it . following a techer.
我来回复