enumerazione D2D1_LAYER_OPTIONS (d2d1.h)

Specifica le opzioni che possono essere applicate quando viene applicata una risorsa livello per creare un livello.

Nota A partire da Windows 8, l'opzione D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE non è più supportata. Vedere D2D1_LAYER_OPTIONS1 per le opzioni di livello Windows 8.
 

Sintassi

typedef enum D2D1_LAYER_OPTIONS {
  D2D1_LAYER_OPTIONS_NONE = 0x00000000,
  D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001,
  D2D1_LAYER_OPTIONS_FORCE_DWORD = 0xffffffff
} ;

Costanti

 
D2D1_LAYER_OPTIONS_NONE
Valore: 0x00000000
Il testo in questo livello non usa ClearType antialiasing.
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE
Valore: 0x00000001
Il livello esegue il rendering corretto del testo ClearType. Se la destinazione di rendering è impostata su ClearType, il livello continua a eseguire il rendering di ClearType. Se la destinazione di rendering è impostata su ClearType e questa opzione non è specificata, la destinazione di rendering verrà impostata per eseguire il rendering della scala di grigio fino a quando non viene visualizzato il livello. Il chiamante può eseguire l'override di questo valore predefinito chiamando SetTextAntialiasMode all'interno del livello. Questo flag è leggermente più lento rispetto al valore predefinito.
D2D1_LAYER_OPTIONS_FORCE_DWORD
Valore: 0xffffffff

Commenti

ClearType antialiasing deve usare il contenuto corrente della destinazione di rendering per fondersi correttamente. Quando un livello push richiede l'inizializzazione per ClearType, Direct2D copia il contenuto corrente della destinazione di rendering nel livello in modo che sia possibile eseguire l'antialiasing ClearType. Il rendering del testo ClearType in un livello trasparente non produce i risultati desiderati.

Quando viene chiamato ID2D1RenderTarget::Clear viene chiamato un piccolo colpo di prestazioni dalla copia del contenuto.

Esempio

Nell'esempio seguente viene illustrato come usare CreateLayer, PushLayer e PopLayer. Tutti i campi della struttura di D2D1_LAYER_PARAMETERS impostati su valori predefiniti, tranne opacityBrush, che è impostato su un 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);

Per altri esempi, vedere Panoramica dei livelli.

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Intestazione d2d1.h

Vedi anche

Panoramica dei livelli