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
- renderelési szándék módokat
- Bemeneti kép alfa módú
- ICC-specifikációnak való megfelelés
- Alfa csatorna viselkedési
- minőségi módok
- mintakód
- követelmények
- Kapcsolódó témakörök
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 |