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 |
---|
![]() |
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.
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 |