Sdílet prostřednictvím


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
obrázek před efektem.
Po
obrázek po transformaci.

 

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.

matici barev se efekt používá k nastavení alfa kanálu.

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.

ID2D1Effect