Direct2D中的IWICBitmap接口

来源:互联网 发布:翁虹 三级 知乎 编辑:程序博客网 时间:2024/06/10 03:10

Direct2D中的IWICBitmap接口

IWICBitmap

Provides access to a rectangular area of the bitmap.

    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;

原创粉丝点击