enumerazione D2D1_LAYER_OPTIONS (d2d1.h)
Specifica le opzioni che possono essere applicate quando viene applicata una risorsa livello per creare un livello.
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 |