本文主要是介绍在视图中显示一幅位图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
位图的显示 |
采用MFC方法编程时,显示一个DDB位图执行以下几个步骤。 |
(1)声明一个CBitmap类的对象,使用LoadBitmap()函数将位图装入内存。 |
(2)声明一个CDC类的对象,使用CreatCompatibleDC()函数创建一个与显示设备环境兼容的内存设备环境。 |
CreateCompatibleDC()函数的原型为: |
virtual Bool CreateCompatibleDC(CDC *pDC); |
其中,参数pDC是指向设备环境的指针。如果pDC为NULL,则创建与系统显示器兼 |
空的内存设备环境。 |
(3)使用CDC::SelectObject()函数将位图对象选入设备环境中,并保存原来设备环境的 |
指针。 |
(4)利用CDC的相关输出函数位图。 |
(5)使用CDC::SelectObject()函数恢复原来设备环境。 |
测试例子如下:
void CTestView::OnDraw(CDC* pDC) { CLi3_11Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CBitmap Bitmap; //将位图装入内存 Bitmap.LoadBitmap(IDB_BITMAP1); CDC MemDC; //创建内存设备环境 MemDC.CreateCompatibleDC(pDC); CBitmap *OldBitmap=MemDC.SelectObject(&Bitmap); //将位图装入内存DC中 BITMAP bm; //创建BITMAP结构变量 Bitmap.GetBitmap(&bm); //获取位图信息 pDC->BitBlt(10,10,bm.bmWidth,bm.bmHeight,&MemDC,0,0,SRCCOPY); //从内存中往屏幕输出 pDC->SelectObject(OldBitmap); //恢复设备环境 }
参考资料:
http://hi.baidu.com/126_/blog/item/07351a730d28a7188601b0bd.html
这篇关于在视图中显示一幅位图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!