回 帖 发 新 帖 刷新版面

主题:目前可以找到的最完整,最精细的bmp格式解析

写了一个位图的操作类,找了不少的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;
}
第二次修改,文章中的两处错误。代码中的两处错误,实现也有稍微修改。

回复列表 (共22个回复)

沙发

就是非常有名的《图形图像文件格式大全》,在与此比较之下,对bmp的讲解,也显得粗浅。
《图形图像文件格式大全》这本书我有,不要认为我没看。其中所述确实粗浅。

板凳

支持一下,感谢楼主为其它需要学习的朋友做出的贡献

3 楼

好东西就要顶上去

4 楼

确实不错,先领受了,呵呵...

LZ对图像处理似乎很有兴趣,呵呵~~

5 楼

guo

6 楼

收藏了

7 楼

这是雨中飞燕吗?

8 楼

毕业设计就和图像处理有关......

9 楼

原来上传的有两个错误。现已更正并重新上传;

10 楼

编程论坛 - 编程爱好者网站
http://www.programbbs.com/?122101
编程论坛,编程爱好者网站,为编程爱好者提供编程语言技术文档,编程控件,编程教程,程序源码下载,编程工具下载等,编程论坛聚集了大量的编程爱好者。

我来回复

您尚未登录,请登录后再回复。点此登录或注册