主题:目前可以找到的最完整,最精细的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个回复)
沙发
tr0217 [专家分:730] 发布于 2009-04-27 22:42:00
就是非常有名的《图形图像文件格式大全》,在与此比较之下,对bmp的讲解,也显得粗浅。
《图形图像文件格式大全》这本书我有,不要认为我没看。其中所述确实粗浅。
板凳
雨中飞燕 [专家分:18980] 发布于 2009-04-27 22:49:00
支持一下,感谢楼主为其它需要学习的朋友做出的贡献
3 楼
liudan319 [专家分:3780] 发布于 2009-04-27 22:54:00
好东西就要顶上去
4 楼
JackieRasy [专家分:3050] 发布于 2009-04-27 23:29:00
确实不错,先领受了,呵呵...
LZ对图像处理似乎很有兴趣,呵呵~~
5 楼
1109500826 [专家分:0] 发布于 2009-04-28 09:35:00
guo
6 楼
jxbc [专家分:0] 发布于 2009-04-30 17:45:00
收藏了
7 楼
hacker_king [专家分:500] 发布于 2009-05-01 10:43:00
这是雨中飞燕吗?
8 楼
yangl2512 [专家分:10] 发布于 2009-05-02 00:50:00
毕业设计就和图像处理有关......
9 楼
tr0217 [专家分:730] 发布于 2009-05-05 11:21:00
原来上传的有两个错误。现已更正并重新上传;
10 楼
tr0217 [专家分:730] 发布于 2009-06-02 17:34:00
编程论坛 - 编程爱好者网站
http://www.programbbs.com/?122101
编程论坛,编程爱好者网站,为编程爱好者提供编程语言技术文档,编程控件,编程教程,程序源码下载,编程工具下载等,编程论坛聚集了大量的编程爱好者。
我来回复