实现8位位图颜色的取反.doc

实现8位位图颜色的取反.doc

ID:59357333

大小:215.50 KB

页数:5页

时间:2020-09-04

实现8位位图颜色的取反.doc_第1页
实现8位位图颜色的取反.doc_第2页
实现8位位图颜色的取反.doc_第3页
实现8位位图颜色的取反.doc_第4页
实现8位位图颜色的取反.doc_第5页
资源描述:

《实现8位位图颜色的取反.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一题第一部分:代码#include#include#include#includeusingnamespacestd;///////////////////////////////////////////////////定义类classCBmp{public://读图像文件信息boolReadInfo(charFilePath[]);//写图像灰度信息到文本文件boolCreatebmp(charFilePath[],charszFileName[]);//生成bmp文件CBmp();//构造函数vir

2、tual~CBmp();//析构函数private:BITMAPFILEHEADERm_sBMFH;//位图文件头BITMAPINFOHEADERm_sBMIH;//位图信息头RGBQUAD*m_pPalette;//调色板BYTE*m_pBData;//位图数据};////////////////////////////CBmp::CBmp(){m_pPalette=NULL;m_pBData=NULL;}CBmp::~CBmp(){if(m_pPalette!=NULL){delete[]m_pPalette;m_pPalette=NULL;}if(m_pBData!=NULL

3、){delete[]m_pBData;m_pBData=NULL;}}////////////////////////////////////////////读图像文件boolCBmp::ReadInfo(charFilePath[]){intnSize;//用来记录调色板的大小ifstreamfin;//打开文件fin.open(FilePath,ios::binary);if(!fin){cerr<<"Openfileerror!"<

4、DER));//判断是否BMP格式if(m_sBMFH.bfType!=0x4d42){cout<<"该文件不是BMP格式的文件!"<

5、har*)(m_pPalette),nSize);}//读取图像数据m_pBData=newBYTE[m_sBMIH.biSizeImage];fin.read((char*)(m_pBData),m_sBMIH.biSizeImage);fin.close();returntrue;}////////////////////////////////////////写图像灰度信息到文本文件boolCBmp::Createbmp(charFilePath[],charszFileName[]){//选用的灰度转换公式不同,所得的结果基本上是一致的,但是会稍有差别。//Gray=(R*

6、38+G*75+B*15)>>7;//高精度转灰度公式//Gray=R*0.299+G*0.587+B*0.114//使用浮点计算,速度较慢BYTE*pt;intt=0;intd=0;ifstreamfin;fin.open(FilePath,ios::binary);if(!fin){cerr<<"Openfileerror!"<

7、///////////////////HANDLEhFile;BITMAPFILEHEADERbmfHdr;//位图文件头BITMAPINFOHEADERbi;//位图信息头RGBQUADpalette[256];//调色板BYTE*pData;//位图数据pData=newBYTE[m_sBMIH.biWidth*m_sBMIH.biHeight*1];//为数据区分配空间if(pData==NULL)return1;DWORDdwBytesWrite;intnSi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。