enumerasi D2D1_LAYER_OPTIONS (d2d1.h)

Menentukan opsi yang dapat diterapkan saat sumber daya lapisan diterapkan untuk membuat lapisan.

Catatan Mulai dari Windows 8, opsi D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE tidak lagi didukung. Lihat D2D1_LAYER_OPTIONS1 untuk opsi lapisan Windows 8.
 

Sintaks

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

Konstanta

 
D2D1_LAYER_OPTIONS_NONE
Nilai: 0x00000000
Teks dalam lapisan ini tidak menggunakan antialias ClearType.
D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE
Nilai: 0x00000001
Lapisan dirender dengan benar untuk teks ClearType. Jika target render diatur ke ClearType, lapisan terus merender ClearType. Jika target render diatur ke ClearType dan opsi ini tidak ditentukan, target render akan diatur untuk merender skala abu-abu hingga lapisan muncul. Pemanggil dapat mengambil alih default ini dengan memanggil SetTextAntialiasMode saat berada di dalam lapisan. Bendera ini sedikit lebih lambat dari default.
D2D1_LAYER_OPTIONS_FORCE_DWORD
Nilai: 0xffffffff

Keterangan

Antialias ClearType harus menggunakan konten target render saat ini untuk berbaur dengan benar. Ketika permintaan lapisan yang didorong menginisialisasi untuk ClearType, Direct2D menyalin konten target render saat ini ke dalam lapisan sehingga antialias ClearType dapat dilakukan. Merender teks ClearType ke dalam lapisan transparan tidak menghasilkan hasil yang diinginkan.

Hit performa kecil dari konten penyalinan ulang terjadi ketika ID2D1RenderTarget::Clear dipanggil.

Contoh

Contoh berikut menunjukkan cara menggunakan CreateLayer, PushLayer, dan PopLayer. Semua bidang dalam struktur D2D1_LAYER_PARAMETERS diatur ke default, kecuali opacityBrush, yang diatur ke 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);

Untuk contoh tambahan, lihat Gambaran Umum Lapisan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Header d2d1.h

Lihat juga

Gambaran Umum Lapisan