D2D1_LAYER_OPTIONS-Enumeration (d2d1.h)
Gibt Optionen an, die angewendet werden können, wenn eine Ebenenressource zum Erstellen einer Ebene angewendet wird.
Syntax
typedef enum D2D1_LAYER_OPTIONS {
D2D1_LAYER_OPTIONS_NONE = 0x00000000,
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001,
D2D1_LAYER_OPTIONS_FORCE_DWORD = 0xffffffff
} ;
Konstanten
D2D1_LAYER_OPTIONS_NONE Wert: 0x00000000 Der Text in dieser Ebene verwendet kein ClearType-Antialiasing. |
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE Wert: 0x00000001 Die Ebene wird für ClearType-Text ordnungsgemäß gerendert. Wenn das Renderziel auf ClearType festgelegt ist, wird clearType weiterhin von der Ebene gerendert. Wenn das Renderziel auf ClearType festgelegt ist und diese Option nicht angegeben ist, wird das Renderziel so festgelegt, dass die Grauskala gerendert wird, bis die Ebene eingeblendet wird. Der Aufrufer kann diese Standardeinstellung überschreiben, indem er SetTextAntialiasMode aufruft, während er sich innerhalb der Ebene befindet. Dieses Flag ist etwas langsamer als die Standardeinstellung. |
D2D1_LAYER_OPTIONS_FORCE_DWORD Wert: 0xffffffff |
Hinweise
ClearType-Antialiasing muss den aktuellen Inhalt des Renderziels verwenden, um ordnungsgemäß zu mischen. Wenn eine pushte Ebene die Initialisierung für ClearType anfordert, kopiert Direct2D den aktuellen Inhalt des Renderziels in die Ebene, damit clearType-Antialiasing ausgeführt werden kann. Das Rendern von ClearType-Text in einer transparenten Ebene führt nicht zu den gewünschten Ergebnissen.
Ein kleiner Leistungstreffer beim erneuten Kopieren von Inhalten tritt auf, wenn ID2D1RenderTarget::Clear aufgerufen wird.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie CreateLayer, PushLayer und PopLayer verwenden. Alle Felder in der D2D1_LAYER_PARAMETERS-Struktur auf Standardwerte festgelegt, mit Ausnahme von opacityBrush, der auf id2D1RadialGradientBrush festgelegt ist.
// 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);
Weitere Beispiele finden Sie unter Übersicht über Ebenen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Kopfzeile | d2d1.h |