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


Táblaátviteli effektus

A táblázatátviteli effektussal egy kép színintenzitását képezheti le a megadott értékek listájának interpolálásából létrehozott átviteli függvény használatával.

Az effektus CLSID azonosítója CLSID_D2D1TableTransfer.

Példakép

Az alábbi képen a táblaátviteli effektus bemenete és kimenete látható.

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

tableTransferEffect->SetInput(0, bitmap);

float table[2] = {0.75f, 1.0f};
tableTransferEffect->SetValue(D2D1_TABLETRANSFER_PROP_BLUE_TABLE, table);

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

Az átviteli függvény a V=(V0,V1,V2,V3, V? ,VN) bemenetek listáján alapul, ahol N az elemek száma – 1.

A bemeneti képpont intenzitása C-ként jelenik meg. A kimeneti képpont intenzitása (C) az egyenlettel kiszámítható.

A C értéknél válasszon egy k értéket, amely a következő: k/N = C < (k+1)/N

A C kimenet kiszámítása a következő egyenlettel történik: C' = V? + (C - k/N) * N * (V??? 1? - V?)

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.

Így néz ki a táblázatátviteli függvény grafikonja, ha a táblatulajdonság [0.0, 0.25, 1.0]van beállítva.

táblázatátviteli függvény képpontintenzitási gráfját.

Effektus tulajdonságai

Jegyzet

A táblaátviteli tulajdonságok összes csatornájának értékei egység nélküliek, és legalább 0,0 és legfeljebb 1,0 értékkel rendelkeznek.

Név és index számbavételének megjelenítése Típus és alapértelmezett érték Leírás
RedTable
D2D1_TABLETRANSFER_PROP_RED_TABLE
FLOAT[]
{0.0f, 1.0f}
A vörös csatorna átviteli függvényének meghatározásához használt értékek listája.
RedDisable
D2D1_TABLETRANSFER_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, a RedTableTransfer függvényt alkalmazza a Vörös csatornára.
GreenTable
D2D1_TABLETRANSFER_PROP_GREEN_TABLE
FLOAT[]
{0.0f, 1.0f}
A zöld csatorna átviteli függvényének meghatározásához használt értékek listája.
GreenDisable
D2D1_TABLETRANSFER_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 GreenTableTransfer függvényt alkalmazza a Zöld csatornára.
BlueTable
D2D1_TABLETRANSFER_PROP_BLUE_TABLE
FLOAT[]
{0.0f, 1.0f}
A Kék csatorna átviteli függvényének meghatározásához használt értékek listája.
BlueDisable
D2D1_TABLETRANSFER_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, akkor a BlueTableTransfer függvényt alkalmazza a Kék csatornára.
AlphaTable
D2D1_TABLE_TRANSFER_PROP_ALPHA_TABLE
FLOAT[]
{0.0f, 1.0f}
Az Alfa csatorna átviteli függvényének meghatározásához használt értékek listája.
AlphaDisable
D2D1_TABLETRANSFER_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 Alpha Channelre alkalmazza az AlphaTableTransfer függvényt.
ClampOutput
D2D1_TABLETRANSFER_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