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 です。
戻り値
レイヤー リソースのコンテンツの境界、マスク情報、不透明度の設定、およびその他のオプションを格納する構造体。
例
次の例では、レイヤーを使用して、ビットマップをジオメトリ マスクにクリップします。完全な例については、「ジオメトリ マスクにクリップする方法」を参照してください。
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 |