D2D1_LAYER_OPTIONS列舉 (d2d1.h)
指定套用圖層資源以建立層次時可以套用的選項。
注意從 Windows 8 開始,不再支援 [D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE] 選項。 如需 Windows 8 圖層選項,請參閱D2D1_LAYER_OPTIONS1。
Syntax
typedef enum D2D1_LAYER_OPTIONS {
D2D1_LAYER_OPTIONS_NONE = 0x00000000,
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001,
D2D1_LAYER_OPTIONS_FORCE_DWORD = 0xffffffff
} ;
常數
D2D1_LAYER_OPTIONS_NONE 值: 0x00000000 此圖層中的文字不會使用 ClearType 反鋸齒。 |
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE 值: 0x00000001 層次會正確呈現 ClearType 文字。 如果轉譯目標設定為 ClearType,層次會繼續轉譯 ClearType。 如果轉譯目標設定為 ClearType 且未指定此選項,則轉譯目標將會設定為轉譯灰階,直到圖層出現為止。 呼叫端可以在圖層內呼叫 SetTextAntialiasMode 來覆寫此預設值。 此旗標比預設值稍微慢一點。 |
D2D1_LAYER_OPTIONS_FORCE_DWORD 值: 0xffffffff |
備註
ClearType 反鋸齒必須使用轉譯目標的目前內容來正確混合。 當推送層要求初始化 ClearType 時,Direct2D 會將轉譯目標的目前內容複製到圖層,以便執行 ClearType 反鋸齒。 將 ClearType 文字轉譯為透明層不會產生所需的結果。
呼叫 ID2D1RenderTarget::Clear 時,就會發生重新複製內容的小型效能點擊。
範例
下列範例示範如何使用 CreateLayer、PushLayer 和 PopLayer。 D2D1_LAYER_PARAMETERS 結構中的所有字段都會設定為預設值,但不透明度Brush 除外,這會設定為ID2D1RadialGradientBrush。
// Create a layer.
ID2D1Layer *pLayer = NULL;
hr = pRT->CreateLayer(NULL, &pLayer);
if (SUCCEEDED(hr))
{
pRT->SetTransform(D2D1::Matrix3x2F::Translation(300, 250));
// Push the layer with the content bounds.
pRT->PushLayer(
D2D1::LayerParameters(
D2D1::InfiniteRect(),
NULL,
D2D1_ANTIALIAS_MODE_PER_PRIMITIVE,
D2D1::IdentityMatrix(),
1.0,
m_pRadialGradientBrush,
D2D1_LAYER_OPTIONS_NONE),
pLayer
);
pRT->DrawBitmap(m_pBambooBitmap, D2D1::RectF(0, 0, 190, 127));
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->PopLayer();
}
SafeRelease(&pLayer);
如需其他範例,請參閱 圖層概觀。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
標頭 | d2d1.h |