(一)ImageProcess软件学习--BmpFile.h头文件

一开始,先来看看BmpFile.h文件吧。


class CBmpFile   //bmp图像文件类
{
public:
    CBmpFile();
    virtual ~CBmpFile();
public:
BYTE*  operator[](int nIndex);   //重载运算符[]
const CBmpFile& operator=(CBmpFile& bmpFile); //重载运算符=,实现bmp图像赋值操作
BOOL CreateBmp(int cols,int rows,int pixelPytes);//创造一幅新的bmp位图
    BOOL Load4File( LPCSTR lpstrPathName );//加载bmp位图
    BOOL Save2File( LPCSTR lpstrPathName );//保存bmp位图到磁盘
void Draw2DC( HDC hDC,int x,int y );//显示bmp位图
public:
    BYTE*    m_pImgDat;   //指向图像数据的指针
    int      m_Cols,m_Rows,m_PxlBytes;//分别储存图像的列数、行数、每个像素所需的字节数
BYTE*    m_pBmpInfo;//指向位图文件信息头的指针


};


关于重载运算符就是让实数中的+号可以重新定义让其可以进行类的运算,具体可以参考http://blog.csdn.net/dingyuanpu/article/details/5852825

这就是一个bmp图像文件类,它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。

典型的BMP图像文件由四部分组成:
1:位图头文件数据结构,它包含BMP图像文件的类型、显示内容等信息;比如bmp类中的BYTE * m_pBmpInfo
2: 位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;
3: 调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;
4:位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。
下一篇我将会分析BmpFile.cpp中的各种实现class  CBmpFile类中的函数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值