vc实现打开bmpjpg或gif图片vcmfc打开图片

vc实现打开bmpjpg或gif图片vcmfc打开图片

ID:8807870

大小:38.50 KB

页数:5页

时间:2018-04-08

vc实现打开bmpjpg或gif图片vcmfc打开图片_第1页
vc实现打开bmpjpg或gif图片vcmfc打开图片_第2页
vc实现打开bmpjpg或gif图片vcmfc打开图片_第3页
vc实现打开bmpjpg或gif图片vcmfc打开图片_第4页
vc实现打开bmpjpg或gif图片vcmfc打开图片_第5页
资源描述:

《vc实现打开bmpjpg或gif图片vcmfc打开图片》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1、新建一个单文档的应用程序,项目名称为ShowBitmap2、为CShowBitmapView类添加下述成员变量和成员函数://参数定义public:    int state;    //位图显示状态    CStringBmpName;   //保存图像文件文件名    CStringextname;    //保存图像文件扩展名    CBitmapm_bitmap; //创建位图对象    void ShowBitmap(CStringBmpName);    //用来显示指定位图的函数    BOOLS

2、howJpgGif(CDC* pDC,CStringstrPath, int x, int y);3、在CShowBitmap类的构造函数中,初始化成员变量state// CShowBitmapView构造/析构CShowBitmapView::CShowBitmapView(){    state=0;}4、为ID_FILE_OPEN消息添加响应函数(具体怎么加就不细说了),编写该函数// CShowBitmapView消息处理程序void CShowBitmapView::OnFileOpen(){    //

3、CFileDialogdlg(TRUE,_T("BMP"),_T("*.BMP"),OFN_HIDEREADONLY

4、OFN_OVERWRITEPROMPT,_T("位图文件(*.BMP;*.jpg)

5、*.BMP;*.jpg

6、"));  //这行代码可以打开BMP格式的图片    CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY

7、OFN_OVERWRITEPROMPT,_T("位图文件(*.BMP)

8、*.BMP

9、jpg文件(*.jpg)

10、*.jpg

11、

12、")); //这行代

13、码可以打开BMP和JPG格式的图片//gif格式图片的打开在这就不列出来了,留给各位自己尝试吧,对于gif格式图片的显示图片函数和jpg格式图片是同一个函数。     if(IDOK==dlg.DoModal())     {         state=0;          BmpName.Format(_T("%s"),dlg.GetPathName());         extname=dlg.GetFileExt();            //返回选定文件的扩展文件名         extname.

14、MakeLower();         if(0==extname.Compare(_T("bmp")))         {             ShowBitmap(BmpName);         }         else         {             state=1;         }        Invalidate();     }}5、编写BMP图片显示函数void CShowBitmapView::ShowBitmap(CStringBmpName){    if (s

15、tate==0)    {                    HBITMAPhBitmap=(HBITMAP)LoadImage(NULL,BmpName,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION

16、LR_DEFAULTSIZE

17、LR_LOADFROMFILE);        m_bitmap.Detach();        m_bitmap.Attach(hBitmap);        state=1;        Invalidate();    }}6、编写jpg或g

18、if格式图片显示程序BOOLCShowBitmapView::ShowJpgGif(CDC* pDC,CStringstrPath, int x, int y){    IStream *pStm;      CFileStatusfstatus;      CFilefile;      LONGcb;      //打开文件并检测文件的有效性    if (file.Open(strPath,CFile::modeRead)&&        file.GetStatus(strPath,fstatus)&& 

19、        ((cb = fstatus.m_size) != -1))      {          HGLOBALhGlobal = GlobalAlloc(GMEM_MOVEABLE,cb);          LPVOIDpvData = NULL;          if (hGlobal != NULL)          {       

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

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

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