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.
Uwaga
Ten efekt nie ma właściwości.
Identyfikator CLSID dla tego efektu jest CLSID_D2D1LuminanceToAlpha.
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.
Uwaga
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.
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 |
Dane wyjściowe mają taki sam rozmiar jak obraz wejściowy.