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


Színkezelési effektus

A színkezelési effektussal egy képet alakíthat át egy ICC (International Color Consortium) színprofilból egy másikba. Az effektus átalakítja a képet a ICC-specifikációszerint.

Az effektus CLSID azonosítója CLSID_D2D1ColorManagement.

Effektus tulajdonságai

Név és index számbavételének megjelenítése Leírás
SourceContext
D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT
A forrás színtérinformációi. A típus ID2D1ColorContext.
Az alapértelmezett érték NULL.
SourceIntent
D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT
Melyik ICC-renderelési szándékot használja. A típus D2D1_COLORMANAGEMENT_RENDERING_INTENT.
Az alapértelmezett érték a D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL.
DestinationContext
D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT
A célszíntér információi. A típus ID2D1ColorContext.
Az alapértelmezett érték NULL.
DestinationIntent
D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT
Melyik ICC-renderelési szándékot használja. A típus D2D1_COLORMANAGEMENT_RENDERING_INTENT.
Az alapértelmezett érték a D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL.
AlphaMode
D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE
A bemeneti képben található alfaadatok értelmezése. A típus D2D1_COLORMANAGEMENT_ALPHA_MODE.
Az alapértelmezett érték a D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED.
Minőség
D2D1_COLORMANAGEMENT_PROP_QUALITY
Az átalakítás minőségi szintje. A típus D2D1_COLORMANAGEMENT_QUALITY.
Az alapértelmezett érték a D2D1_COLORMANAGEMENT_QUALITY_NORMAL.

Renderelési szándék módjai

Felsorolás Leírás
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL Az effektus tömöríti vagy kibővíti a kép teljes színtartományát, hogy kitöltse az eszköz színtartományát, hogy érzékelhetően kellemes kimenetet állítsunk elő, amely megőrzi a színrészleteket, de feláldozhatja a színszimmetrikus pontosságot. Hasznos a valós élet tartalmának, például a fényképeknek az általános reprodukálása.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC Az effektus módosítja azokat a színeket, amelyek kívül esnek azon a színtartományon, amelyet a kimeneti eszköz a legközelebbi megjeleníthető színre képes megjeleníteni. Nem őrzi meg a fehér pontot.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION Az effektus megőrzi a színtiszta színek telítettségét a képben az árnyalat és a világosság lehetséges rovására. Olyan ábrák esetén hasznos, mint a diagramok és a diagramok.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC Az effektus módosítja azokat a színeket, amelyek kívül esnek azon a színtartományon, amelyet a kimeneti eszköz a legközelebbi megjeleníthető színre képes megjeleníteni. Az effektus nem módosítja a színtartományon belüli színeket, és megőrzi a fehér pontot.

Bemeneti kép alfa módjai

Felsorolás Leírás
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED Az effektus feltételezi, hogy az alfa mód előre meghatározott.
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT Az effektus feltételezi, hogy az alfa mód egyenes.

D2D1_GAMMA1_G2084 viselkedésváltozások

Ha az alkalmazás a D2D1_GAMMA1_G2084 szóközt vagy az SMPTE ST.2084 (Perceptual Quantizer) színteret használó DXGI_COLOR_SPACE_TYPE számbavételi értékek egyikét használja, akkor az alkalmazás HDR-adatokkal kíván dolgozni.

Az ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile és ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace API-k ezt nem veszik figyelembe; ehelyett a HDR-tartalmat úgy méretezik, hogy a G2084 DeGamma művelet során a 0–1 tartományba illeszkedjenek.

A gyakorlatban az ebben a gamma-térben kódolt tartalom 10 000 Nits WhiteLevel-hivatkozást használ, amely a CCCS-ben általában 10 000 / 80 = 125,0. Így az alkalmazás jobb megkönnyítése érdekében a legegyszerűbb, ha ez a gamma-átalakítás a fényerőt is 125-ös tényezővel skálázza. A Windows 10 1809-es verziójától (10.0; Build 17763), a viselkedés a színkezelési effektus olyan, hogy alkalmazza ezt a skálázást. Ez azt jelenti, hogy fejlesztőként nem kell második Fehér szintű korrekciós effektust alkalmaznia a folyamatba.

Az ICC specifikációnak való megfelelés

A színkezelési effektus megfelel az ICC v4.3 specifikációjának, az alábbi korlátozásokkal:

  • Az effektus 1, 3 és 4 csatorna színteret támogat.
  • Az effektus nem támogatja a ColorSpace vagy a Named Color profilokat.

Alfa csatorna viselkedése

Az effektus általában 1(átlátszatlan) értékre állítja az alfa értéket, ha a forrásképben nincsenek alfaadatok, és az alfaadatok elvesznek, ha nincs hely a célrendszerképben. Az alábbi táblázat az alfa viselkedést ismerteti.

Forrásszíntér, képpontformátum Célszíntér, képpontformátum Alfa viselkedés
1 csatorna, R képpontformátum
1 csatorna, R képpontformátum (Nincsenek alfaadatok)
1 csatorna, RGBA képpontformátum Az alfaadatok értéke 1 (átlátszatlan)
3 csatorna, RGBA képpontformátum Az alfaadatok értéke 1 (átlátszatlan)
4 csatorna, RGBA képpontformátum (Nincsenek alfaadatok)
1 csatorna, RGBA képpontformátum
1 csatorna, R képpontformátum Az alfaadatok elvetése
1 csatorna, RGBA képpontformátum Az alfaadatok továbbítása
3 csatorna, RGBA képpontformátum Az alfaadatok továbbítása
4 csatorna, RGBA képpontformátum Az alfaadatok elvetése
3 csatorna, RGBA képpontformátum
1 csatorna, R képpontformátum Az alfaadatok elvetése
1 csatorna, RGBA képpontformátum Az alfaadatok továbbítása
3 csatorna, RGBA képpontformátum Az alfaadatok továbbítása
4 csatorna, RGBA képpontformátum Az alfaadatok elvetése
4 csatorna, RGBA képpontformátum
1 csatorna, R képpontformátum (Nincsenek alfaadatok)
1 csatorna, RGBA képpontformátum Az alfaadatok értéke 1 (átlátszatlan)
3 csatorna, RGBA képpontformátum Az alfaadatok értéke 1 (átlátszatlan)
4 csatorna, RGBA képpontformátum (Nincsenek alfaadatok)

Minőségi módok

Üzemmód Leírás
D2D1_COLORMANAGEMENT_QUALITY_PROOF A legalacsonyabb minőségű mód. Ehhez a módhoz a 9_1-es vagy újabb szolgáltatási szint szükséges.
D2D1_COLORMANAGEMENT_QUALITY_NORMAL Normál minőségi mód. Ehhez a módhoz a 9_1-es vagy újabb szolgáltatási szint szükséges.
D2D1_COLORMANAGEMENT_QUALITY_BEST A legjobb minőségű mód. Ehhez a módhoz a 10_0-s vagy újabb szolgáltatási szint, valamint a lebegőpontos pontosságú pufferek szükségesek. Ez a mód támogatja a lebegőpontos pontosságot, valamint az ICC v4.3 specifikációban meghatározott kiterjesztett tartományt.

A színkezelési effektus a rajzoláskor meghiúsul, ha az alkalmazás olyan minőségi módot kér, amelyet a hardver nem támogat. A D3D11CreateDevicehívásakor meghatározhatja a funkció szintjét. A lebegőpontos puffer támogatásának ellenőrzéséhez hívja meg ID2D1EffectContext::IsBufferPrecisionSupported a D2D1_BUFFER_PRECISION_32BPC_FLOATértékkel.

Mintakód

Erre az effektusra példaként töltse le a Direct2D-effektusok fényképbeállítási mintáját, és tekintse meg a minta 4. leckéjé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