Světelnost až alfa efekt
Pomocí světelnosti můžete alfa efekt nastavit alfa kanál na světelnost obrázku a nastavit barevné kanály na 0. Výstup tohoto efektu můžete použít k vytvoření poloprůhledného překrytí na základě jasu vstupního obrázku. Nebo ho můžete použít k vytvoření masky obrázku.
Poznámka
Tento efekt nemá žádné vlastnosti.
CLSID pro tento efekt je CLSID_D2D1LuminanceToAlpha.
Příklad obrázku
Tento příklad ukazuje výstup světelnosti na alfa efekt složený na bílý povrch, aby se zobrazila neprůhlednost.
Před |
---|
![]() |
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();
Tento efekt nastaví alfa kanál výstupu na světelnost vstupního obrázku pomocí této barevné matice.
Tento efekt spotřebovává a vypíše předem připravené alfa obrázky. Efekt nebude fungovat na rovných alfa obrázcích, pokud nejsou zcela neprůhlené.
Poznámka
Vzhledem k tomu, že obrázky jsou uložené ve formátu gama, před výpočtem světelnosti obrázku byste měli nejprve provést inverzní gama opravu, abyste získali skutečné hodnoty barev pro obrázek. Vzhledem k tomu, že jsou obrázky obvykle uložené ve 2,2 gama, můžete použít efekt gama přenosu s exponentem (1/2,2) a pak použít výstup tohoto efektu.
Požadavky
Požadavek | Hodnota |
---|---|
Minimální podporovaný klient | Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store] |
Minimální podporovaný server | Windows 8 a Aktualizace platformy pro Windows 7 [desktopové aplikace | Aplikace pro Windows Store] |
Záhlaví | d2d1effects.h |
Knihovna | d2d1.lib, dxguid.lib |
Výstupní rastrový obrázek
Výstup má stejnou velikost jako vstupní obrázek.
Související témata