Я хочу разблокировать заблокированную карту ID2D1Bitmap, которую я пробовал m_pBitmap1-> Release (); но это не похоже на работу
hr = m_pBitmap1-> CopyFromRenderTarget (nullptr, m_pRenderTarget2, nullptr); выдает ошибку нарушения доступа:
«Необработанное исключение в 0x00fb2a46 в dent_detection_sys.exe: 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);
Чтобы разблокировать растровое изображение WIC, отпустите IWICBitmapLock:
pILock->Release();
Вы должны выпускать m_pBitmap1 только тогда, когда вы больше не хотите его использовать.
hr=m_pBitmap1->CopyFromRenderTarget(nullptr, m_pRenderTarget2, nullptr);
hr=m_pBitmap1->Release();