本人需要完成如下功能:
    在View中平铺了一张底图,然后再在View中画线、贴图,如何将这些线、贴的图以及底图合成一幅图片??
   请各位高手帮个忙,谢谢了!!

解决方案 »

  1.   

    在OnDraw中
    CRect rect;
    GetClientDC(&rect);
    CBitmap bmp;
    CDC *memDC=CreateCompitableDC(pDC);
    memDC->SelectObject(&bmp);
    memDC->Bitblt(0,0,rect.width,rect.height,pDC,0,0,SRCCOPY);
    然后再写到文件中去,和屏幕截图类似。
      

  2.   

    CDC memdc, dc;
    CDC* pDC = GetDC();
             CBitmap bmpSave;
    bmpSave.CreateCompatibleBitmap(pDC, w, h); dc.CreateCompatibleDC(pDC);
    HBITMAP hOldBmp = (HBITMAP)dc.SelectObject((HBITMAP) bmpSave); memdc.CreateCompatibleDC(pDC); OnDraw(&dc);
    dc.Bitblt(0, 0, w, h, &memdc, ....);  dc.SelectObject(hOldBmp);
    dc.DeleteDC();
    memdc.SelectObject(hOldMembmp);
    memdc.DeleteDC();bmpSave保存下来就是你要的
      

  3.   

    非常感谢两位仁兄!!
    我能保存成BMP文件了,但目前还有一个问题:我将保存成的BMP文件用ImageLoad.dll 转化成Jpg文件,总是失败,而用ACDSee 的“另存”方式是可以转化的;此外用ImageLoad.dll 转化由"画图"生成的BMP文件 则没问题。其中BMP文件存在的差别是biBitCount 不一样,我存的图片是32,而用“画图”生成的文件则是24。
    我如何能解决这个问题呢? 还请帮帮忙————谢了