我现在遇到一个贴图的问题
我采用的是CScrollView视图,使用了MM_ANISOTROPIC映射模式,文字输出正常,缩放正常,矩形等手工绘制的图形输出正常,但是CBitmap图形不能输出,我测试过MM_TEXT映射模式输出正常到底那里设置错误,导致不能正常输出呢(一片空白)//输出图像前我已经设置并初始化MM_ANISOTROPIC映射模式
OnPrepareDC(pDC);
...void DrawBitmap(CDC* pDC, CRect& logicRect)
{
    CDC memDC;
    memDC.CreateCompatibleDC(pDC);
    memDC.SelectObject(m_pBitmap);    //已经定义并加载过图像的CBitmap* m_pBitmap    BITMAP bm;
    m_pBitmap->GetBitmap(&bm);
    CSize bmpSize(bm.bmWidth, bm.bmHeight);
    pDC->DPtoLP(&bmpSize);
 
    int oldDC = pDC->SaveDC();
    
    pDC->StretchBlt(logicRect.left, logicRect.top, logicRect.Width(), logicRect.Height(),
            &memDC, 0, 0, bmpSize.cx, bmpSize.cy, SRCCOPY);    //因为MM_TEXT映射模式下正常所以我尝试改用下面的代码,结果第一页能显示,但是稍动滚动条显示又异常
    //可能重置滚动条后会正常,我没有继续测试因为这个方法不太适合我的需求
    //int oldMode = pDC->SetMapMode(MM_TEXT);
    //pDC->LPtoDP(&logicRect);
    //pDC->LPtoDP(&bmpSize);
    //pDC->StretchBlt(logicRect.left, logicRect.top, logicRect.Width(), logicRect.Height(),
    //        &memDC, 0, 0, bmpSize.cx, bmpSize.cy, SRCCOPY);
    //pDC->SetMapMode(oldMode);
    pDC->RestoreDC(oldDC);
}MM_ANISOTROPICBitBlt