内存设备环境
内存设备环境是一个没有设备与它联系的环境。一般利用与某个标准设备环境兼容的内存设备环境把一个位图复制到屏幕上去。为此可以先创建一个与某个标准设备环境兼容的内存设备环境,然后把所要显示的位图复制到内存设备环境中,最后再从内存设备环境复制到真实的设备环境,从而把位图显示出来。
eg:
void CMainFrame::OnBitmapDraw() { CDC* pCDC=GetDC(); //获取当前设备上下文 CBitmap bitmap; //定义CBitmap对象 bitmap.LoadBitmap(IDB_BITMAP_1); // 加载指定ID位图对象 CDC memDC; //定义内存上下文信息,此处没通过new创建,会自动释放,不需要显示调用ReleaseDC memDC.CreateCompatibleDC(pCDC); //创建与指定设备兼容的内存上下文 //此处是窗体 memDC.SelectObject(&bitmap); //选择对象到内存环境上下文 BITMAP bmInfo;//BITMAP structure //The BITMAP structure defines the type, width, height, color format, and bit values of a bitmap. bitmap.GetObject(sizeof(bmInfo),&bmInfo); //检索bitmap图像信息,赋给bmInfo (获取图像高宽信息) pCDC->BitBlt(100,0,bmInfo.bmWidth,bmInfo.bmHeight,&memDC,0,0,SRCCOPY);//将内存环境山下文复制到设备上下文 ReleaseDC(pCDC); }
时间: 2024-11-10 07:10:27