这个很简单。
你把图片载入到CDC之中,然后用BitBlt或者StretchBlt都能指定绘制CDC内存中的图片的指定位置的。

解决方案 »

  1.   

    创建   HBITMAP变量
    把每一部分通过::StretchBlt截取出来就行了
      

  2.   

    图片加载到一个memdc中,BitBlt指定贴出的位置和大小
      

  3.   

    网上找的一段代码,供参考
    BITMAP BmpInfo;
    SrcBmp->GetBitmap(&BmpInfo);CDC SrcDC;
    SrcDC.CreateCompatibleDC(NULL);CBitmap DestBmp;
    DestBmp.CreateCompatibleBitmap(&SrcDC,150,150);CDC DestDC;
    DestDC.CreateCompatibleDC(NULL);CBitmap *pOldBmp1 = SrcDC.SelectObject(SrcBmp);
    CBitmap *pOldBmp2 = DestDC.SelectObject(&DestBmp);DestDC.StretchBlt(0,0,150,150,&SrcDC,0,0,BmpInfo.bmWidth,BmpInfo.bmHeight,SRCCOPY);CImage image;
    image.Attach(DestBmp);
    image.Save(_T("C:\\test.bmp"), Gdiplus::ImageFormatBMP);SrcDC.SelectObject(pOldBmp1);
    DestDC.SelectObject(pOldBmp2);