IWICBitmap::Metode kunci (wincodec.h)
Menyediakan akses ke area persegi panjang bitmap.
HRESULT Lock(
[in] const WICRect *prcLock,
[in] DWORD flags,
[out] IWICBitmapLock **ppILock
);
[in] prcLock
Jenis: const WICRect*
Persegi panjang yang akan diakses.
[in] flags
Jenis: DWORD
Mode akses yang ingin Anda peroleh untuk kunci. Ini adalah kombinasi bitwise dari WICBitmapLockFlags untuk akses baca, tulis, atau baca dan tulis.
[out] ppILock
Jenis: IWICBitmapLock**
Penunjuk yang menerima lokasi memori terkunci.
Jenis: HRESULT
Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Kunci eksklusif untuk menulis tetapi dapat dibagikan untuk membaca. Anda tidak dapat memanggil CopyPixels saat IWICBitmap dikunci untuk menulis. Melakukannya akan mengembalikan kesalahan, karena kunci bersifat eksklusif.
Dalam contoh berikut, IWICBitmap dibuat dan data gambar dibersihkan menggunakan IWICBitmapLock.
IWICImagingFactory *pFactory = NULL;
IWICBitmap *pBitmap = NULL;
UINT uiWidth = 640;
UINT uiHeight = 480;
WICPixelFormatGUID formatGUID = GUID_WICPixelFormat32bppBGRA;
WICRect rcLock = { 0, 0, uiWidth, uiHeight };
IWICBitmapLock *pLock = NULL;
HRESULT hr = CoCreateInstance(
CLSID_WICImagingFactory,
NULL,
CLSCTX_INPROC_SERVER,
IID_IWICImagingFactory,
(LPVOID*)&pFactory
);
if (SUCCEEDED(hr))
{
hr = pFactory->CreateBitmap(uiWidth, uiHeight, formatGUID, WICBitmapCacheOnDemand, &pBitmap);
}
if (SUCCEEDED(hr))
{
hr = pBitmap->Lock(&rcLock, WICBitmapLockWrite, &pLock);
if (SUCCEEDED(hr))
{
UINT cbBufferSize = 0;
UINT cbStride = 0;
BYTE *pv = NULL;
hr = pLock->GetStride(&cbStride);
if (SUCCEEDED(hr))
{
hr = pLock->GetDataPointer(&cbBufferSize, &pv);
}
// Clear the image data
ZeroMemory(pv, cbBufferSize);
// Release the bitmap lock.
pLock->Release();
}
}
if (pBitmap)
{
pBitmap->Release();
}
if (pFactory)
{
pFactory->Release();
}
return hr;
Klien minimum yang didukung | Windows XP dengan SP2, Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincodec.h |
Pustaka | Windowscodecs.lib |
DLL | Windowscodecs.dll |