Direct2D画背景纹理

来源:互联网 发布:广州管家婆网络 编辑:程序博客网 时间:2024/05/18 02:01

d2d 画背景纹理

HRESULT ImageComponent::CreateGridPatternBrush(ID2D1RenderTarget *pRenderTarget,ID2D1BitmapBrush **ppBitmapBrush){    HRESULT hr = S_OK;    // Create a compatible render target.    ID2D1BitmapRenderTarget *pCompatibleRenderTarget = NULL;    hr = pRenderTarget->CreateCompatibleRenderTarget(D2D1::SizeF(10.0f, 10.0f),&pCompatibleRenderTarget);    if (SUCCEEDED(hr))    {        // Draw a pattern.        ID2D1SolidColorBrush *pGridBrush = NULL;        hr = pCompatibleRenderTarget->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF(0.93f, 0.94f, 0.96f, 1.0f)),&pGridBrush);        if (SUCCEEDED(hr))        {            pCompatibleRenderTarget->BeginDraw();            pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.0f, 10.0f, 1.0f), pGridBrush);            pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.0f, 1.0f, 10.0f), pGridBrush);            hr = pCompatibleRenderTarget->EndDraw();            if (SUCCEEDED(hr))            {                // Retrieve the bitmap from the render target.                ID2D1Bitmap *pGridBitmap = NULL;                hr = pCompatibleRenderTarget->GetBitmap(&pGridBitmap);                if (SUCCEEDED(hr))                {                    // Create the bitmap brush.                    hr = m_pRenderTarget->CreateBitmapBrush(pGridBitmap,D2D1::BitmapBrushProperties(D2D1_EXTEND_MODE_WRAP,D2D1_EXTEND_MODE_WRAP),ppBitmapBrush);                    pGridBitmap->Release();                }            }            pGridBrush->Release();        }        pCompatibleRenderTarget->Release();    }    return hr;}

原创粉丝点击