1. 程式人生 > >MFC內存顯示位圖

MFC內存顯示位圖

mfc位圖顯示

類CBitmap封裝了Windows圖形設備接口(GDI)中的位圖,並且提供了操縱位圖的成員函數。使用CBitmap對象之前要先構造CBitmap對象,調用其中的一個初始化成員函數設置位圖對象的句柄。此後就可以調用其它成員函數了。要了解有關使用像CBitmap這樣的圖形對象的詳細信息,請參閱聯機文檔“Visual C++ 程序員指南”中的“圖形對象”。

#include <afxwin.h>

CDC MemDC;  
 BITMAP   bm;  
 CBitmap bmp; 
 //從外部加載位圖文件
 HBITMAP bitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),_T("1.bmp"),IMAGE_BITMAP,0,0,
 LR_LOADFROMFILE);  
 bmp.DeleteObject();//如果加載過先解除綁定
 if(!bmp.Attach(bitmap))  
 {  
   MessageBox(0,_T("導入背景圖失敗!"),_T("提示"),MB_OK);  
   return;  
 }  
  
//顯示位圖  
bmp.GetObject(sizeof(BITMAP),&bm);  
CDC pDC;  
pDC.m_hDC = GetDC(this->Handle);  
MemDC.CreateCompatibleDC(&pDC);  
MemDC.SelectObject(&bmp);  
pDC.BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &MemDC, 0, 0, SRCCOPY);  
MemDC.DeleteDC();

//或者如下顯示:
/*CDC * pDC1 = this->GetDC();
MemDC.CreateCompatibleDC(pDC1);  
MemDC.SelectObject(&bmp);  
pDC1->BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &MemDC, 0, 0, SRCCOPY);  
MemDC.DeleteDC();*/

技術分享

MFC內存顯示位圖