D2D1_LAYER_OPTIONS-Enumeration (d2d1.h)

Gibt Optionen an, die angewendet werden können, wenn eine Ebenenressource zum Erstellen einer Ebene angewendet wird.

Hinweis Ab Windows 8 wird die Option D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE nicht mehr unterstützt. Optionen für Windows 8 Ebene finden Sie unter 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
} ;

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

Weitere Informationen

Übersicht über Ebenen