Luminance ke efek alfa
Gunakan efek luminance to alpha untuk mengatur saluran alfa ke luminance gambar dan mengatur saluran warna ke 0. Anda dapat menggunakan output efek ini untuk membuat overlay semitransparan berdasarkan kecerahan gambar input. Atau Anda dapat menggunakannya untuk membuat masker gambar.
Nota
Efek ini tidak memiliki properti.
CLSID untuk efek ini CLSID_D2D1LuminanceToAlpha.
Contoh gambar
Contoh ini menunjukkan output luminance ke efek alfa yang terdiri dari permukaan putih untuk menunjukkan keburaman.
Sebelum |
---|
![]() |
Sesudah |
![]() |
ComPtr<ID2D1Effect> luminanceToAlphaEffect;
m_d2dContext->CreateEffect(CLSID_D2D1LuminanceToAlpha, &luminanceToAlphaEffect);
luminanceToAlphaEffect->SetInput(0, bitmap);
// LuminanceToAlpha result is composited on top of a white surface to show opacity.
ComPtr<ID2D1Effect> floodEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Flood, &floodEffect);
floodEffect->SetValue(D2D1_FLOOD_PROP_COLOR, D2D1::Vector4F(1.0f, 1.0f, 1.0f, 1.0f));
ComPtr<ID2D1Effect> compositeEffect;
m_d2dContext->CreateEffect(CLSID_D2D1Composite, &compositeEffect);
compositeEffect->SetInputEffect(0, floodEffect.Get());
compositeEffect->SetInputEffect(1, luminanceToAlphaEffect.Get());
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(compositeEffect.Get());
m_d2dContext->EndDraw();
Efek ini mengatur saluran alfa output ke luminance gambar input menggunakan matriks warna ini.
Efek ini mengonsumsi dan menghasilkan gambar alfa yang telah di-premultip. Efeknya tidak akan bekerja pada gambar alfa lurus kecuali gambar tersebut benar-benar buram.
Nota
Karena gambar disimpan dalam format yang dikompensasi gamma, sebelum Anda menghitung luminance untuk gambar, Anda harus terlebih dahulu melakukan koreksi gamma terbalik untuk mendapatkan nilai warna sebenarnya untuk gambar. Karena gambar biasanya disimpan pada gamma 2.2, Anda dapat menggunakan efek transfer Gamma dengan eksponen (1/2.2) dan kemudian menggunakan output efek tersebut.
Persyaratan
Syarat | Nilai |
---|---|
Klien minimum yang didukung | Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows] |
Server minimum yang didukung | Pembaruan Windows 8 dan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows] |
Header | d2d1effects.h |
Perpustakaan | d2d1.lib, dxguid.lib |
Bitmap output
Output berukuran sama dengan gambar input.
Topik terkait