Megosztás a következőn keresztül:


Luminance to alpha effect

Az alfaeffektushoz a fényerővel állítsa az alfa csatornát a kép fényerejére, és állítsa a színcsatornát 0 értékre. Ennek az effektusnak a kimenetével a bemeneti kép fényereje alapján félig átfedő réteget készíthet. Vagy használhatja képmaszk készítésére is.

Jegyzet

Ennek az effektusnak nincsenek tulajdonságai.

 

Az effektus CLSID azonosítója CLSID_D2D1LuminanceToAlpha.

Példakép

Ez a példa a fehér felületen összetett fényerejű alfaeffektus kimenetét mutatja be az átlátszatlanság megjelenítéséhez.

Előtt
a képet az effektus előtt.
Után
a képet az átalakítás után.

 

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();

Ez az effektus a kimenet alfa csatornáját a bemeneti kép fényerejére állítja ezzel a színmátrix használatával.

a színmátrixot, amelyet az effektus az alfa csatorna beállításához használ.

Ez az effektus előre meghatározott alfaképeket használ fel és kimenetel. A hatás nem fog működni az egyenes alfa képeken, kivéve, ha teljesen átlátszatlanok.

Jegyzet

Mivel a képek gamma-kompenzált formátumban vannak tárolva, a kép fényerejének kiszámítása előtt először inverz gammakorrekciót kell végrehajtania a kép valódi színértékeinek lekéréséhez. Mivel a képeket általában 2,2 gamma értéken tárolják, használhatja a Gamma átviteli effektust egy kitevővel (1/2,2), majd használhatja ennek az effektusnak a kimenetét.

 

Követelmények

Követelmény Érték
Minimálisan támogatott ügyfél Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások]
Minimálisan támogatott kiszolgáló Windows 8 és Platform Update for Windows 7 [asztali alkalmazások | Windows Áruházbeli alkalmazások]
Fejléc d2d1effects.h
Könyvtár d2d1.lib, dxguid.lib

 

Kimeneti bitkép

A kimenet mérete megegyezik a bemeneti kép méretével.

ID2D1Effect