如何将内存的Bitmap缩放后放到内存DC里?

解决方案 »

  1.   

    先绘制到一个临时dc中,然后再StretchBlt绘制内存DC就可以了
      

  2.   

    CRect rect;
    GetClientRect(&rect);
    BITMAP bm;
    m_Bmp.GetBitmap(&bm);
    CDC memDC;
    memDC.CreateCompatibleDC(NULL);
    memDC.SelectObject(&m_Bmp); //将位图对象选入内存DC
    pDC->StretchBlt(10,10,bm.bmWidth,bm.bmHeight,&memDC,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);//将位图从内存中拷贝出来
      

  3.   

    我试过了,建立2个内存DC,一个载入原位图,另外一个用StretchBlt将原位图缩放后复制过来,最后再BitBlt到dc上,但是这样子不行,最后什么都不显示.
      

  4.   

    解决了,原来是忘记CreateCompatibleBitmap了