LayerParameters 関数

D2D1_LAYER_PARAMETERS 構造体を作成します。

構文

D2D1_LAYER_PARAMETERS LayerParameters(
  __in      const D2D1_RECT_F &contentBounds =  D2D1::InfiniteRect() ,
  __in_opt  ID2D1Geometry *geometricMask = NULL,
            D2D1_ANTIALIAS_MODE maskAntialiasMode =  D2D1_ANTIALIAS_MODE_PER_PRIMITIVE ,
            D2D1_MATRIX_3X2_F maskTransform =  D2D1::IdentityMatrix() ,
            FLOAT opacity = 1.0,
            ID2D1Brush opacityBrush = NULL,
            D2D1_LAYER_OPTIONS layerOptions =  D2D1_LAYER_OPTIONS_NONE 
);

パラメーター

  • contentBounds [in]
    D2D1_RECT_F レイヤーのコンテンツの境界。この境界の外側にあるコンテンツがレンダリングされる保証はありません。既定値は D2D1::InfiniteRect です。
  • geometricMask [in, optional]
    ID2D1Geometry レンダー ターゲットに統合されているレイヤーの領域を指定するマスク、または NULL。既定値は NULL です。
  • maskAntialiasMode
    D2D1_ANTIALIAS_MODE ジオメトリ マスクのアンチエイリアシング モードを指定する値。既定値は D2D1_ANTIALIAS_MODE_PER_PRIMITIVE です。
  • maskTransform
    D2D1_MATRIX_3X2_F レイヤーの作成時にジオメトリ マスクに適用される変換を指定する値。既定値は D2D1::IdentityMatrix です。
  • opacity
    FLOAT ターゲットに統合されるときにレイヤー内のすべてのリソースに一律に適用される不透明度。既定値は 1.0 です。
  • opacityBrush
    ID2D1Brush レイヤーの不透明度の変更に使用されるブラシ。ブラシはレイヤーにマップされ、マップされた各ブラシのピクセルのアルファ チャネルは対応するレイヤーのピクセルに対して乗算されます。既定値は NULL です。
  • layerOptions
    D2D1_LAYER_OPTIONS レイヤーが ClearType アンチエイリアシングを使用してテキストをレンダリングするかどうかを指定する値。既定値は D2D1_LAYER_OPTIONS_NONE です。

戻り値

D2D1_LAYER_PARAMETERS

レイヤー リソースのコンテンツの境界、マスク情報、不透明度の設定、およびその他のオプションを格納する構造体。

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

  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 用のプラットフォーム更新プログラム

ヘッダー

D2d1helper.h

ライブラリ

D2d1.lib

DLL

D2d1.dll

名前空間

D2D1

参照

レイヤーの概要

D2D1_LAYER_OPTIONS

D2D1_LAYER_PARAMETERS

ID2D1Brush

D2D1_ANTIALIAS_MODE