实验一、VC6.0下bmp位图的读取与显示.doc

实验一、VC6.0下bmp位图的读取与显示.doc

ID:53693993

大小:231.02 KB

页数:16页

时间:2020-04-06

实验一、VC6.0下bmp位图的读取与显示.doc_第1页
实验一、VC6.0下bmp位图的读取与显示.doc_第2页
实验一、VC6.0下bmp位图的读取与显示.doc_第3页
实验一、VC6.0下bmp位图的读取与显示.doc_第4页
实验一、VC6.0下bmp位图的读取与显示.doc_第5页
资源描述:

《实验一、VC6.0下bmp位图的读取与显示.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一、VC6.0下bmp位图的读取与显示一、实验目的:1、掌握windowsBMP格式位图文件的基本格式。2、会使用VC++读取图像数据并显示。二、实验内容:1、在VC6.0环境下,生成MFC应用程序框架。2、在已生成的应用程序中,加BMP位图读取与显示的代码,从已有文件中读取bmp格式文件并在视图中显示。三、实验原理及步骤:基本知识:BMP位图文件格式BMP位图文件中主要由4部分内容组成:1、文件头BITMAPFILEHEADER为一STRUCTURE:typedefstructtagBITMAPFILEHEADER{WORDbfType;//文件类型,必须为“BM”或0

2、x424dDWORDbfSize;//文件大小WORDbfReserved1;//保留WORDbfReserved2;//保留DWORDbfOffBits;//从文件头到实际位图数据的偏移字节数}BITMAPFILEHEADER,FAR*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER;2、位图信息头BITMAPINFOHEADER,定义如下:typedefstructtagBITMAPINFOHEADER{DWORDbiSize;//structuresizeLONGbiWidth;//imagewidthLONGbiHeight;//imageh

3、eightWORDbiPlanes;//valueis1WORDbiBitCount;//colorbitsDWORDbiCompression;//compressionornotDWORDbiSizeImage;//Imagesize=width*height(其中width必须为4的倍数。LONGbiXPelsPerMeter;//LONGbiYPelsPerMeter;DWORDbiClrUsed;//DWORDbiClrImportant;}BITMAPINFOHEADER,FAR*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER;1、调色

4、板typedefstructtagRGBQUAD{BYTErgbBlue;BYTErgbGreen;BYTErgbRed;BYTErgbReserved;}RGBQUAD;用于存放图像的颜色。1、图像的实际数据。对于2色图,用1位表示像素的值。对于16色图,用4位表示像素的值。对于256色图,一个字节刚好表示1个像素。对于用到调色板的位图,图像数据就是该像素颜色在调色板中索引值,对于真彩色,不用调色板,三个字节的数据分别代表图像的B、G、R。具体实验步骤1、生成一名为zhangyunxiang的基于MFC的应用程序框架:选择file菜单new选项,在打开的窗口中选择proje

5、ct选项,选中MFCAppWizard(exe)。并在projectname输入zhangyunxiang,选择存放project的位置。如下图所示。选择OK,进入下一步。选择singledocument,如下图最后CzhangyunxiangView类的基类中选择CscrollView,使应用程序视图具有滚动条。如下图点击Finish完成生成一名为zhangyunxiang的基于MFC的应用程序框架。2、对class视图进行操作,添加成员变量跟成员函数到相应现在的zhangyunxiangview下(1)在CzhangyunxiangView.h中加入如入变量:具体步骤:单

6、击(右击)CzhangyunxiangView,在其中选中AddMenberVariable控件如下图:然后左击它,接着就会出现如下图所示的对话框在其中依次加入以下变量:public:intm_x;HBITMAPm_Bmp;LPVOIDm_ColorList;LPBYTEm_Image;LPBITMAPINFOHEADERm_DibHead;enumallocate{None,crtallocate,heapallocate};allocatem_nBmpallocate;allocatem_nImageallocate;DWORDm_ImageSize;intm_nPale

7、tte;HANDLEm_hFile;HANDLEm_hMap;LPVOIDm_lpvFile;HPALETTEm_hPalette;HGLOBALm_hGlob;(2)在CzhangyunxiangView.h中加入如入变量:具体步骤:单击(右击)CzhangyunxiangView,在其中选中AddMenberFunction控件如下图:然后左击它,接着就会出现如下图所示的对话框利用ClassWizard向CzhangyunxiangView类中加入如下成员函数。voidSetPaletteSize(

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

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

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