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的位图选择到兼容DCdcImage,之后这个兼容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应用程序中,设备环境与图形对象共同工作,协同完成绘图显示工作。就像画家绘画一样,设备环境好比是画家的画布,图形对象好比是画家的画笔。用画笔在画布上绘画,不同的画笔将画出不同的画来。选择合适的图形对象和绘图对象,才能按照要求完成绘图任务。

你可能感兴趣的:(bitmap)