2014-06-06 143 views
0

我想解锁一个锁定的ID2D1Bitmap我试过m_pBitmap1-> Release();但它似乎并不工作如何解锁锁定的位图

hr = m_pBitmap1-> CopyFromRenderTarget(nullptr,m_pRenderTarget2,nullptr);给出访问冲突错误:

“在dent_detection_sys.exe 0x00fb2a46未处理的异常:0xC0000005:访问冲突读取位置0x00000024”。

WICRect rcLock = { 0, 0, sc_bitmapWidth , sc_bitmapHeight }; 
IWICBitmapLock *pILock=NULL; 
hr =pWICBitmap->Lock(&rcLock, WICBitmapLockWrite, &pILock); 


hr=pRT->CreateSharedBitmap(
    IID_IWICBitmapLock, 
    static_cast<void *>(pILock), 
    &bp2, 
    &m_pBitmap1 
    ); 


hr=m_pBitmap1->Release(); 

hr=m_pBitmap1->CopyFromRenderTarget(nullptr, m_pRenderTarget2, nullptr); 

回答

0

当你不想再使用它时,你应该只释放m_pBitmap1。

hr=m_pBitmap1->CopyFromRenderTarget(nullptr, m_pRenderTarget2, nullptr); 
hr=m_pBitmap1->Release(); 
1

要解锁WIC位图,释放IWICBitmapLock:

pILock->Release();