您的位置:首页 > 其它

MFC位图加载

2013-02-05 14:36 162 查看

MFC位图加载

MFC显示位图的几种方法
//在对话框内显示位图

       CBitmap hbmp;

       HBITMAP hbitmap;

       //装载图片文件MM.bmp

       hbitmap=(HBITMAP)::LoadImage(::AfxGetInstanceHandle(),"MM.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);

       hbmp.Attach(hbitmap);

       //获取图片格式

       BITMAP bm;

       hbmp.GetBitmap(&bm);

       CDC dcMem;

       dcMem.CreateCompatibleDC(GetDC());

       CBitmap * poldBitmap=(CBitmap*)dcMem.SelectObject(hbmp);

       CRect lRect;

       GetClientRect(&lRect);

       lRect.NormalizeRect();

       //显示位图

       GetDC()->StretchBlt(lRect.left,lRect.top,lRect.Width(),lRect.Height(),&dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);

       dcMem.SelectObject(&poldBitmap);

//在Static控件内显示位图

       CBitmap   hbmp;

       HBITMAP   hbitmap;

       //将pStatic指向要显示的地方

       CStatic   *pStatic;

       pStatic=(CStatic*)GetDlgItem(IDC_STATIC); //IDC_STATIC是你的Staic控件名

       //装载图片文件MM.bmp

       hbitmap=(HBITMAP)::LoadImage(::AfxGetInstanceHandle(),"MM.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);

       hbmp.Attach(hbitmap);

       //获取图片格式

       BITMAP bm;

       hbmp.GetBitmap(&bm);

       CDC dcMem;

       dcMem.CreateCompatibleDC(GetDC());

       CBitmap * poldBitmap=(CBitmap*)dcMem.SelectObject(hbmp);

       CRect lRect;

       pStatic->GetClientRect(&lRect);

       lRect.NormalizeRect();

       //显示位图

       pStatic->GetDC()->StretchBlt(lRect.left,lRect.top,lRect.Width(),lRect.Height(),&dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);

       dcMem.SelectObject(&poldBitmap);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: