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


Gammaátviteli effektus

A gammaátviteli effektussal leképezheti egy kép színintenzitását az egyes csatornákhoz megadott amplitúdó, kitevő és eltolás használatával létrehozott gammafüggvény használatával.

Az effektus CLSID azonosítója CLSID_D2D1GammaTransfer. Az effektus használatához adja hozzá a dxguid.lib elemet a linker függőségeihez.

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> gammaTransferEffect;
m_d2dContext->CreateEffect(CLSID_D2D1GammaTransfer, &gammaTransferEffect);

gammaTransferEffect->SetInput(0, bitmap);

gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_RED_EXPONENT, 0.25f);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT, 0.25f);
gammaTransferEffect->SetValue(D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT, 0.25f);

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

Ez az effektus egy gamma-átviteli függvényt alkalmaz az itt szereplő egyenlet alapján.

A bemeneti képpont intenzitása C, a kimeneti képpont intenzitása pedig C". C' = Amplitúdó * CKitevő + Eltolás

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 gammaátviteli tulajdonságok összes csatornája esetében:

  • Az amplitúdó értéke nincs határban, és egység nélküli.
  • A kitevő értéke nincs határolva, és egység nélküli.
  • Az eltolás értéke nincs határolva, és egység nélküli.
Név és index számbavételének megjelenítése Leírás
RedAmplitude
D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE
A vörös csatorna gammaátviteli függvényének amplitúdója. A típus FLOAT.
Az alapértelmezett érték 1,0f.
RedExponent
D2D1_GAMMATRANSFER_PROP_RED_EXPONENT
A red csatorna gammaátviteli függvényének kitevője. A típus FLOAT.
Az alapértelmezett érték 1,0f.
RedOffset
D2D1_GAMMATRANSFER_PROP_RED_OFFSET
A vörös csatorna gammaátviteli függvényének eltolása. A típus FLOAT.
Az alapértelmezett érték 0,0f.
RedDisable
D2D1_GAMMATRANSFER_PROP_RED_DISABLE
Ha IGAZ értékre állítja, az nem alkalmazza az átviteli függvényt a Vörös csatornára. A rendszer identitásátviteli függvényt használ. Ha HAMIS értékre állítja, akkor a gamma-átviteli függvényt alkalmazza a Vörös csatornára. A típus BOOL.
Az alapértelmezett érték HAMIS.
GreenAmplitude
D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE
A zöld csatorna gammaátviteli függvényének amplitúdója. A típus FLOAT.
Az alapértelmezett érték 1,0f.
GreenExponent
D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT
A zöld csatorna gammaátviteli függvényének kitevője. A típus FLOAT.
Az alapértelmezett érték 1,0f.
GreenOffset
D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET
A zöld csatorna gammaátviteli függvényének eltolása. A típus FLOAT.
Az alapértelmezett érték 0,0f.
GreenDisable
D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE
Ha IGAZ értékre állítja, az nem alkalmazza az átviteli függvényt a Zöld csatornára. A rendszer identitásátviteli függvényt használ. Ha HAMIS értékre állítja, akkor a gamma-átviteli függvényt alkalmazza a Zöld csatornára. A típus BOOL.
Az alapértelmezett érték HAMIS.
BlueAmplitude
D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE
A Kék csatorna gammaátviteli függvényének amplitúdója. A típus FLOAT.
Az alapértelmezett érték 1,0f.
BlueExponent
D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT
A Kék csatorna gammaátviteli függvényének kitevője. A típus FLOAT.
Az alapértelmezett érték 1,0f.
BlueOffset
D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET
A kék csatorna gammaátviteli függvényének eltolása. A típus FLOAT.
Az alapértelmezett érték 0,0f.
BlueDisable
D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE
Ha IGAZ értékre állítja, az nem alkalmazza az átviteli függvényt a Kék csatornára. A rendszer identitásátviteli függvényt használ. Ha ezt HAMIS értékre állítja, akkor a gammaátviteli függvényt alkalmazza a Kék csatornára. A típus BOOL.
Az alapértelmezett érték HAMIS.
AlphaAmplitude
D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE
Az alfa csatorna gammaátviteli függvényének amplitúdója. A típus FLOAT.
Az alapértelmezett érték 1,0f.
AlphaExponent
D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT
Az alfa csatorna gammaátviteli függvényének kitevője. A típus FLOAT.
Az alapértelmezett érték 1,0f.
AlphaOffset
D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET
Az alfa csatorna gammaátviteli függvényének eltolása. A típus FLOAT.
Az alapértelmezett érték 0,0f.
AlphaDisable
D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE
Ha igaz értékre állítja, az nem alkalmazza az átviteli függvényt az alfa csatornára. A rendszer identitásátviteli függvényt használ. Ha HAMIS értékre állítja, akkor a gamma-átviteli függvényt alkalmazza az alfa csatornára. A típus BOOL.
Az alapértelmezett érték HAMIS.
ClampOutput
D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT
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.
A típus BOOL.
Az alapértelmezett érték HAMIS.

Kimeneti bitkép

A kimeneti bitkép mérete megegyezik a bemeneti bitkép méretével.

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