次の方法で共有


ID2D1RenderTarget::CreateLayer メソッド

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

構文

virtual HRESULT CreateLayer(
  [in, optional]  D2D1_SIZE_F *size,
  [out]           ID2D1Layer **layer
) = 0;

パラメーター

  • size [in, optional]
    D2D1_SIZE_F レイヤーの初期サイズ (デバイス非依存のピクセル単位)、または NULL。NULL または (0, 0) が指定された場合、バッキング ストアはレイヤー リソースの背後に作成されません。レイヤー リソースは、PushLayer が呼び出されると、最小サイズに割り当てられます。
  • layer [out]
    ID2D1Layer メソッドが返されるときに、新しいレイヤーへのポインターへのポインターが格納されます。このパラメーターは初期化されずに渡されます。

戻り値

HRESULT

メソッドが成功した場合は、S_OK が返されます。 それ以外の場合は、エラー コードが返されます。HRESULT.

解説

サイズが最初に指定されているかどうかにかかわらず、レイヤーは必要に応じてサイズを自動的に変更します。

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

  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;
}

要件

クライアントの最小要件

Windows 7, Windows Vista SP2 および Windows Vista 用のプラットフォーム更新プログラム

サーバーの最小要件

Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム

ヘッダー

D2d1.h

ライブラリ

D2d1.lib

DLL

D2d1.dll

参照

レイヤーの概要

ID2D1RenderTarget