代码如下:
BOOL CMFCGDIView::OnEraseBkgnd(CDC *pDC)
{
CRect myRect;
this->GetClientRect(myRect);
int width = myRect.Width();
int hgt = myRect.Height();
CClientDC dc(this);
CBitmap* pbmOld = NULL;
CBitmap mybitmap;
mybitmap.LoadBitmapW(312);
BITMAP MyMAP;
mybitmap.GetBitmap(&MyMAP);
CDC memDC;
memDC.CreateCompatibleDC(&dc);
pbmOld = memDC.SelectObject(&mybitmap);
dc.StretchBlt(0,0,width,hgt,&memDC,0,0,MyMAP.bmWidth,MyMAP.bmHeight,SRCCOPY);
memDC.SelectObject(pbmOld); mybitmap.DeleteObject();
memDC.DeleteDC();
return TRUE;
}
位图在程序中显示的效果有点失真,好像图片已经坏了,不知道怎么回事?。bmp图片6M多。
BOOL CMFCGDIView::OnEraseBkgnd(CDC *pDC)
{
CRect myRect;
this->GetClientRect(myRect);
int width = myRect.Width();
int hgt = myRect.Height();
CClientDC dc(this);
CBitmap* pbmOld = NULL;
CBitmap mybitmap;
mybitmap.LoadBitmapW(312);
BITMAP MyMAP;
mybitmap.GetBitmap(&MyMAP);
CDC memDC;
memDC.CreateCompatibleDC(&dc);
pbmOld = memDC.SelectObject(&mybitmap);
dc.StretchBlt(0,0,width,hgt,&memDC,0,0,MyMAP.bmWidth,MyMAP.bmHeight,SRCCOPY);
memDC.SelectObject(pbmOld); mybitmap.DeleteObject();
memDC.DeleteDC();
return TRUE;
}
位图在程序中显示的效果有点失真,好像图片已经坏了,不知道怎么回事?。bmp图片6M多。
解决方案 »
- 请各位高手指教下DSOFramer在vc 6.0下的使用,谢谢了
- 消息发送的问题 --谢谢帮忙!
- C++这是什么原因啊。。编译能过,组建却过不了!
- 大学读计算机专业的朋友请进!你们的毕业论文都是什么题目阿?
- 招聘开发工程师,广州工作
- 为什么我做DLL的函数时,返回值只能是HRESULT类型
- 希望帮帮高手帮我检查一下,为什么我编完了却无法出现图标呢?树控件
- 找到CSDN改版后的一个BUG
- BHO IDISPATCH::invoke 中如何阻断消息
- 一个简单的问题,但我真的不知道!!!
- error C2182: “Buffer”: 非法使用“void”类型
- <分享>如何编写自己想要的控件(start from CWnd)
SetStretchBltMode(HALFTONE);
http://bbs.csdn.net/topics/390260258