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.
Catatan
Efek ini tidak memiliki properti.
CLSID untuk efek ini CLSID_D2D1LuminanceToAlpha.
Contoh gambar
Contoh ini menunjukkan output dari luminance ke efek alfa yang dikomposisikan di atas permukaan putih untuk menunjukkan keburaman.
Sebelumnya |
---|
![]() |
Sesudahnya |
![]() |
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 ditentukan sebelumnya. Efeknya tidak akan bekerja pada gambar alfa lurus kecuali gambar tersebut sepenuhnya buram.
Catatan
Karena gambar disimpan dalam format kompensasi gamma, sebelum Anda menghitung luminance untuk gambar, Anda harus terlebih dahulu melakukan koreksi gamma terbalik untuk mendapatkan nilai warna yang 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
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows] |
Server minimum yang didukung | Windows 8 dan Pembaruan Platform untuk Windows 7 [aplikasi desktop | Aplikasi Bursa Windows] |
Header | d2d1effects.h |
Pustaka | d2d1.lib, dxguid.lib |
Bitmap output
Output berukuran sama dengan gambar input.
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk