MFC使用bitmap

CBitmap m_bitmap;  //对象

m_bitmap.LoadBitmap(IDB_SPLASH);//加载

void CSplashWnd::OnPaint()
{
 CPaintDC dc(this);

 CDC dcImage;
 if (!dcImage.CreateCompatibleDC(&dc))//创建内存设备环境
  return;

 BITMAP bm;
 m_bitmap.GetBitmap(&bm);

 // Paint the image.
 CBitmap* pOldBitmap = dcImage.SelectObject(&m_bitmap);//这里把m_bitmap的位图选择到兼容DC dcImage,之后这个兼容DC就拥有和 m_bitmap同样大小的绘图区域

dc.BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &dcImage, 0, 0, SRCCOPY);//对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境
 dcImage.SelectObject(pOldBitmap);
}

///////////////////////

Windows使用与设备无关的图形设备环境(DC :Device Context) 进行显示 。MFC基础类库定义了设备环境对象类----CDC类。

说到CDC类就不能不提一下GdiObject---图形对象类。 在Windows应用程序中,设备环境与图形对象共同工作,协同完成绘图显示工作。就像画家绘画一样,设备环境好比是画家的画布,图形对象好比是画家的画笔。用画笔在画布上绘画,不同的画笔将画出不同的画来。选择合适的图形对象和绘图对象,才能按照要求完成绘图任务。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sshhbb/archive/2011/03/02/6217378.aspx

posted @ 2011-04-15 16:36  山河  阅读(950)  评论(0编辑  收藏  举报