标签归档:

simpleBMP-非常简单的BMP读写项目

发现各种找到的库都非常巨大,抽象层次也很高,不能满足需求
自己刚写了一个C++读写bmp的类,支持8位灰度图,24位RGB图。

https://github.com/edimetia3d/simpleBMP

代码很短,其实看源码10分钟就了解干了些什么。

简要说明一下:
没有任何抽象,读取就是把bmp里的所有数据(是的,每个字节都用上了)都映射到某个定义过的变量。
保存就是把这些变量再写回磁盘。

其实最初是打算完全按照C来写的,对动态内存不太感冒,所以用了vector
读写部分用的还是fread fwrite,把vector的部分换成动态内存就完全可以在C下运行了。
每个变量的意思见
http://www.cnblogs.com/xiekeli/archive/2012/05/09/2491191.html
具体映射关系如下。

class ClImgBMP {
    public:
    ClBitMapFileHeader bmpFileHeaderData;
    ClBitMapInfoHeader 
Read More