次の方法で共有


ID2D1RenderTarget::CreateLayer オーバーロードされたメソッド

このレンダー ターゲットおよびそれと互換性のあるレンダー ターゲットで使用できるレイヤー リソースを作成します。

オーバーロードの一覧

メソッド 説明
CreateLayer(ID2D1Layer**)

このレンダー ターゲットおよびそれと互換性のあるレンダー ターゲットで使用できるレイヤー リソースを作成します。

CreateLayer(D2D1_SIZE_F*,ID2D1Layer**)

このレンダー ターゲットおよびそれと互換性のあるレンダー ターゲットで使用できるレイヤー リソースを作成します。新しいレイヤーは指定された初期サイズになります。

CreateLayer(D2D1_SIZE_F,ID2D1Layer**)

このレンダー ターゲットおよびそれと互換性のあるレンダー ターゲットで使用できるレイヤー リソースを作成します。新しいレイヤーは指定された初期サイズになります。

解説

レイヤーは、必要に応じて、そのレイヤー自体のサイズを自動的に変更します。

次の例では、レイヤーを使用して、ビットマップをジオメトリ マスクにクリップします。完全な例については、「ジオメトリ マスクにクリップする方法」を参照してください。

  HRESULT DemoApp::RenderWithLayer(ID2D1RenderTarget *pRT)
{
    HRESULT hr = S_OK;

    // Create a layer.
    ID2D1Layer *pLayer = NULL;
    hr = pRT->CreateLayer(NULL, &pLayer);

    if (SUCCEEDED(hr))
    {
        pRT->SetTransform(D2D1::Matrix3x2F::Translation(350, 50));

        // Push the layer with the geometric mask.
        pRT->PushLayer(
            D2D1::LayerParameters(D2D1::InfiniteRect(), m_pPathGeometry),
            pLayer
            );
            
  
        pRT->DrawBitmap(m_pOrigBitmap, D2D1::RectF(0, 0, 200, 133));
        pRT->FillRectangle(D2D1::RectF(0.f, 0.f, 25.f, 25.f), m_pSolidColorBrush);  
        pRT->FillRectangle(D2D1::RectF(25.f, 25.f, 50.f, 50.f), m_pSolidColorBrush);
        pRT->FillRectangle(D2D1::RectF(50.f, 50.f, 75.f, 75.f), m_pSolidColorBrush); 
        pRT->FillRectangle(D2D1::RectF(75.f, 75.f, 100.f, 100.f), m_pSolidColorBrush);    
        pRT->FillRectangle(D2D1::RectF(100.f, 100.f, 125.f, 125.f), m_pSolidColorBrush); 
        pRT->FillRectangle(D2D1::RectF(125.f, 125.f, 150.f, 150.f), m_pSolidColorBrush);    
        

        pRT->PopLayer();
    }

    SafeRelease(&pLayer);

    return hr;
}

要件

ライブラリ

D2d1.lib

DLL

D2d1.dll

参照

ID2D1RenderTarget

レイヤーの概要

ID2D1RenderTarget