MFC使用位图模式下显示位图
一,使用该模式显示位图的步骤如下:
1.导入位图.
2.创建兼容DC.
3.将位图选入兼容DC中
4.将兼容位图贴到当前DC中。
具体看如下步骤,改代码是在OnDraw()函数中实现:
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BMP_LOVE);
BITMAP bm;
bitmap.GetBitmap(&bm);
CDC MemDc;
MemDc.CreateCompatibleDC(pDC);
MemDc.SelectObject(&bitmap);
CRect rect;
GetClientRect(&rect);
// BitBlt()函数将图片1:1复制显示出来,不能对图片进行压缩和拉
//伸.使用Stretch()函数可以对图片进行压缩和拉伸。
//pDC->BitBlt(0,0, rect.Width(), rect.Height(),&MemDc,0,0,SRCCOPY);
pDC->StretchBlt(0,0,rect.Width(), rect.Height(), &MemDc,
0, 0, bm.bmWidth,bm.bmHeight, SRCCOPY);
二,查看VC++详解这本书的时候,作者说可以也可以在WM_ERASEBKGND消息响应函数中
OnEraseBkgnd(CDC* pDC)函数中绘图。
但是我在使用BitBlt()函数绘图时,效果不好。