如题

解决方案 »

  1.   

    先得到DC,然后pDC->m_hDC得到图片DC的句炳,不知是不是这个意思。
      

  2.   

    这是我OnDraw的代码:
    CFile file(strFilePathName,CFile::modeRead|CFile::shareDenyWrite);
    CArchive ar(&file,CArchive::load|CArchive::bNoFlushOnDelete);
       CArchiveStream stream(&ar);
      HRESULT hr = OleLoadPicture((IStream*)&stream, 0, FALSE, IID_IPicture, (void **)&m_pPic); file.Close(); CRect ShowRect;
    pDC=GetDC();
    GetClientRect(&ShowRect);
    long lWidth,lHeight; m_pPic->get_Width((OLE_XSIZE_HIMETRIC*)&lWidth);
    m_pPic->get_Height((OLE_YSIZE_HIMETRIC*)&lHeight);
    CDC tempDC;
    tempDC.CreateCompatibleDC(pDC);
    CBitmap bmp; bmp.CreateCompatibleBitmap(pDC,ShowRect.Width(),ShowRect.Height());
    CBitmap *OldBmp=tempDC.SelectObject(&bmp);
    m_pPic->Render(tempDC, 0, 0, ShowRect.Width(), ShowRect.Height(),
    0, lHeight, lWidth, -lHeight, NULL);
    m_pPic->Release(); pDC->BitBlt(ShowRect.left, ShowRect.top, ShowRect.Width(), ShowRect.Height(), &tempDC, 0, 0, SRCCOPY);
        tempDC.SelectObject(OldBmp);
    ReleaseDC(&tempDC); 
    bmp.DeleteObject();
        ReleaseDC(pDC);现在假如我要在别的函数中取得这个图片的句柄或路径应怎样做呢?
      

  3.   

    把这个保存起来不要DeleteObject()就可以了:
    CBitmap bmp;要句柄时:
    return bmp.GetSafeHandle();
      

  4.   

    CBitmap bmp;定义成类成员,在类的析构里面释放
      

  5.   

    那我要在别的函数中调用应该怎么做呢?比如说我有个Save(char* filename,imagetype)函数,我应该怎样通过句柄而获得图片的路径呢?