MFC內存顯示位圖
阿新 • • 發佈:2017-10-08
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內存顯示位圖