2012第三章 VC++图像编程基础课件.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012第三章VC图像编程基础课件

第三章 VC++图像编程基础;一、与设备无关位图(DIB) ;;2.BMP文件头 P30;;3.位图信息头;4.颜色表(调色板);;;;二、CDib类库的建立 P40;1. CDib类的设计目标;;;;2. 构造CDib类;class CDib : public CObject { public: RGBQUAD* m_pRGB; // BYTE* m_pData; // UINT m_numberOfColors; //颜色个数 BOOL m_valid; BITMAPFILEHEADER bitmapFileHeader;//文件头 BITMAPINFOHEADER* m_pBitmapInfoHeader; //信息头 BITMAPINFO* m_pBitmapInfo; //位图信息指针 BYTE* pDib; DWORD size; //文件大小;public: CDib(); //无参构造函数 ~CDib(); //析构函数 char m_fileName[256]; char* GetFileName(); //返回位图文件名 BOOL IsValid(); DWORD GetSize(); //位图文件的大小 UINT GetWidth(); //位图的宽度 UINT GetHeight(); //位图的高度 UINT GetNumberOfColors(); /颜色数目 RGBQUAD* GetRGB(); //颜色表首地址 BYTE* GetData(); //图像数据首地址 BITMAPINFO* GetInfo(); //图像信息结构首地址;;文件DIB.CPP包含了CDib类中各函数的实现,代码如下: #include stdafx.h #include cdib.h #include windowsx.h #include math.h CDib::CDib() //定义构造函数 { } CDib::~CDib() //定义析构函数 { GlobalFreePtr(m_pBitmapInfo); //删除该对象中的图像 };BOOL CDib::IsValid() { return m_valid; } char* CDib::GetFileName() { return m_fileName; //文件名 } UINT CDib::GetWidth() { return (UINT) m_pBitmapInfoHeader-biWidth; // } UINT CDib::GetHeight() { return (UINT) m_pBitmapInfoHeader-biHeight; // };//位图文件的大小 DWORD CDib::GetSize() { if (m_pBitmapInfoHeader-biSizeImage != 0) return m_pBitmapInfoHeader-biSizeImage; else { DWORD height = (DWORD) GetHeight(); DWORD width = (DWORD) GetWidth(); return height * width; //计算图像大小 } };//计算颜色数 UINT CDib::GetNumberOfColors() { int numberOfColors; //为实际用到的颜色数 if ((m_pBitmapInfoHeader-biClrUsed == 0) (m_pBitmapInfoHeader-biBitCount 9)) { switch (m_pBitmapInfoHeader-biBitCount) { case 1: numberOfColors = 2; break; case 4: numberOfColors = 16; break; case 8: numberOfColors = 256; } } else numberOfColors = (int) m_pBitmapInfoHeader-biClrUse

文档评论(0)

baa89089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档