永发信息网

mfc显示位图,缩小后再显示就乱套了

答案:2  悬赏:30  手机版
解决时间 2021-04-03 16:57
  • 提问者网友:孤山下
  • 2021-04-03 13:21
代码如下:
CPaintDC dc(this); // 用于绘制的设备上下文
CDC memDC;
CRect rcClient;
GetClientRect(&rcClient);
memDC.CreateCompatibleDC(&dc);
HDC hDC;
hDC = memDC.GetSafeHdc();
CBitmap memBitmap;
//memBitmap.CreateCompatibleBitmap(&dc, rcClient.Width(), rcClient.Height());
memBitmap.Attach(m_hBkground);
BITMAP bm = {0};
int nErr;
int nRet;
nRet = memBitmap.GetBitmap(&bm);
if (nRet == 0)
{
nErr = GetLastError();
return CDialog::OnPaint();
}
CBitmap *pOldBitmap = memDC.SelectObject(&memBitmap);
dc.BitBlt(0, 0, bm.bmWidth, bm.bmHeight, &memDC, 0, 0, SRCCOPY);
memDC.SelectObject(pOldBitmap);
memBitmap.DeleteObject();
memDC.DeleteDC();
最佳答案
  • 五星知识达人网友:孤独的牧羊人
  • 2021-04-03 14:16
显示前调用这句

SetStretchBltMode(COLORONCOLOR);
全部回答
  • 1楼网友:雾月
  • 2021-04-03 15:25
没看懂什么意思?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯