MFC内存显示位图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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内存显示位图的主要内容,如果未能解决你的问题,请参考以下文章