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


Lineáris átviteli effektus

A lineáris átviteli effektussal egy kép színintenzitását képezheti le az egyes csatornákhoz megadott értékek listájából létrehozott lineáris függvény használatával.

Az effektus CLSID azonosítója CLSID_D2D1LinearTransfer.

Példakép

Előtt
a képet az effektus előtt.
Után
a képet az átalakítás után.
ComPtr<ID2D1Effect> linearTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1LinearTransfer, &linearTransferEffect);

linearTransferEffect->SetInput(0, bitmap);

linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT, -1.0f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_RED_SLOPE, 2.5f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT, -1.0f);
linearTransferEffect->SetValue(D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE, 5.0f);

m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(linearTransferEffect.Get());
m_d2dContext->EndDraw();

A lineáris átviteli függvény a megadott csatornák meredeksége és y-metszete alapján jön létre. A C kimeneti képpont intenzitását a következő egyenlettel számítjuk ki: C' = mC + B, ahol m a lineáris függvény meredeksége, B pedig a lineáris függvény Y-metszete.

Ez a hatás egyenes és előre meghatározott alfaképeken működik. Az effektus előre meghatározott alfa bitképeket ad ki.

Effektus tulajdonságai

Jegyzet

A lineáris átviteli tulajdonságok összes csatornája esetében:

  • Az Y-metszéspont nincs határban, és egység nélküli.
  • A meredekség nem határolt, és egység nélküli.
Név és index számbavételének megjelenítése Típus és alapértelmezett érték Leírás
RedYIntercept
D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT
LEBEG
0,0f
A vörös csatorna lineáris függvényének Y-metszete.
RedSlope
D2D1_LINEARTRANSFER_PROP_RED_SLOPE
LEBEG
1.0f
A vörös csatorna lineáris függvényének meredeksége.
RedDisable
D2D1_LINEARTRANSFER_PROP_RED_DISABLE
BOOL
TÉVES
Ha IGAZ értékre állítja, az effektus nem alkalmazza az átviteli függvényt a Vörös csatornára. Ha HAMIS értékre állítja, az effektus a RedLinearTransfer függvényt alkalmazza a Vörös csatornára.
GreenYIntercept
D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT
LEBEG
0,0f
A zöld csatorna lineáris függvényének Y-metszete.
GreenSlope
D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE
LEBEG
1.0f
A zöld csatorna lineáris függvényének meredeksége.
GreenDisable
D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE
BOOL
TÉVES
Ha IGAZ értékre állítja, az effektus nem alkalmazza az átviteli függvényt a Zöld csatornára. Ha hamis értékre állítja, a GreenLinearTransfer függvényt alkalmazza a Zöld csatornára.
BlueYIntercept
D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT
LEBEG
0,0f
A Kék csatorna lineáris függvényének Y-metszete.
BlueSlope
D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE
LEBEG
1.0f
A kék csatorna lineáris függvényének meredeksége.
BlueDisable
D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE
BOOL
TÉVES
Ha IGAZ értékre állítja, az effektus nem alkalmazza az átviteli függvényt a Kék csatornára. Ha HAMIS értékre állítja, a BlueLinearTransfer függvényt alkalmazza a Kék csatornára.
AlphaYIntercept
D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT
LEBEG
0,0f
Az Alfa-csatorna lineáris függvényének Y-metszete.
AlphaSlope
D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE
LEBEG
0,0f
Az Alfa-csatorna lineáris függvényének meredeksége.
AlphaDisable
D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE
BOOL
TÉVES
Ha IGAZ értékre állítja, az effektus nem alkalmazza az átviteli függvényt az Alfa csatornára. Ha ezt HAMIS értékre állítja, akkor az Alfa csatornára alkalmazza az AlphaLinearTransfer függvényt.
ClampOutput
D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT
BOOL
TÉVES
Azt jelzi, hogy az effektus 0 és 1 közé szorítja-e a színértékeket, mielőtt az effektus átadja az értékeket a gráf következő hatásának. Az effektus befogja az értékeket, mielőtt premultiplies az alfa .
Ha igaz értékre állítja, az effektus az értékeket fogja szorítani. Ha HAMIS értékre állítja ezt be, az effektus nem fogja be a színértékeket, de más effektusok és a kimeneti felület is rögzítheti az értékeket, ha nem elég nagy pontosságúak.

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

ID2D1Effect