Luminance do efektu alfa
Użyj luminacji do efektu alfa, aby ustawić kanał alfa na lumincję obrazu i ustawić kanały kolorów na 0. Możesz użyć danych wyjściowych tego efektu, aby utworzyć półprzezroczystą nakładkę na podstawie jasności obrazu wejściowego. Możesz też użyć go do utworzenia maski obrazu.
Nuta
Ten efekt nie ma właściwości.
Identyfikator CLSID dla tego efektu jest CLSID_D2D1LuminanceToAlpha.
Przykładowy obraz
W tym przykładzie pokazano dane wyjściowe lumincji do efektu alfa złożonego na białej powierzchni, aby pokazać nieprzezroczystość.
Przed |
---|
![]() |
Po |
![]() |
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();
Ten efekt ustawia kanał alfa danych wyjściowych na lumincję obrazu wejściowego przy użyciu tej macierzy kolorów.
Ten efekt korzysta z obrazów alfa z premultiplied i generuje je. Efekt nie będzie działać na prostych obrazach alfa, chyba że są w pełni nieprzezroczyste.
Nuta
Ponieważ obrazy są przechowywane w formacie kompensowanym gamma, przed obliczeniu luminacji obrazu należy najpierw wykonać odwrotną korektę gamma, aby uzyskać prawdziwe wartości kolorów dla obrazu. Ponieważ obrazy są zwykle przechowywane na 2.2 gamma, można użyć efektu transferu Gamma z wykładnikiem (1/2.2), a następnie użyć danych wyjściowych tego efektu.
Wymagania
Wymaganie | Wartość |
---|---|
Minimalny obsługiwany klient | Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows] |
Minimalny obsługiwany serwer | Windows 8 i aktualizacja platformy dla systemu Windows 7 [aplikacje klasyczne | Aplikacje ze Sklepu Windows] |
Nagłówek | d2d1effects.h |
Biblioteka | d2d1.lib, dxguid.lib |
Mapa bitowa wyjściowa
Dane wyjściowe mają taki sam rozmiar jak obraz wejściowy.
Tematy pokrewne