Färghanteringseffekt
Använd färghanteringseffekten för att omvandla en bild från en ICC-färgprofil (International Color Consortium) till en annan. Effekten transformerar bilden enligt ICC-specifikationen.
CLSID för den här effekten är CLSID_D2D1ColorManagement.
- egenskaper för effekt
- Återgivnings avsiktslägen
- Alfalägen för indatabild
- Efterlevnad av ICC-specifikation
- Alpha-kanalbeteende
- Kvalitetslägen
- Exempelkod
- Krav
- Relaterade ämnen
Effektegenskaper
Visningsnamn och indexuppräkning | Beskrivning |
---|---|
SourceContext D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT |
Informationen om källfärgrymden. Typen är ID2D1ColorContext. Standardvärdet är NULL. |
SourceIntent D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT |
Vilken ICC-återgivnings avsikt att använda. Typen är D2D1_COLORMANAGEMENT_RENDERING_INTENT. Standardvärdet är D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL. |
DestinationContext D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT |
Information om målfärgrymden. Typen är ID2D1ColorContext. Standardvärdet är NULL. |
DestinationIntent D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT |
Vilken ICC-återgivnings avsikt att använda. Typen är D2D1_COLORMANAGEMENT_RENDERING_INTENT. Standardvärdet är D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL. |
AlphaMode D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE |
Så här tolkar du alfadata som finns i indatabilden. Typen är D2D1_COLORMANAGEMENT_ALPHA_MODE. Standardvärdet är D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED. |
Kvalitet D2D1_COLORMANAGEMENT_PROP_QUALITY |
Kvalitetsnivån för transformering. Typen är D2D1_COLORMANAGEMENT_QUALITY. Standardvärdet är D2D1_COLORMANAGEMENT_QUALITY_NORMAL. |
Återgivning av avsiktslägen
Uppräkning | Beskrivning |
---|---|
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL | Effekten komprimerar eller expanderar bildens fullfärgsomfång för att fylla enhetens färgomfång, för att skapa en perceptuellt tilltalande utdata som bevarar färgdetaljer men kan offra colorimetric noggrannhet. Det är användbart för allmän reproduktion av verkligt innehåll som foton. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC | Effekten justerar alla färger som ligger utanför det omfång som utdataenheten kan återge till närmaste färg som kan återges. Den bevarar inte den vita punkten. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION | Effekten bevarar mättnad av rena färger i bilden på möjliga bekostnad av nyans och lätthet. Det är användbart för grafik som diagram och diagram. |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC | Effekten justerar alla färger som ligger utanför det omfång som utdataenheten kan återge till närmaste färg som kan återges. Effekten ändrar inte in-gamut-färgerna och bevarar den vita punkten. |
Alfalägen för indatabild
Uppräkning | Beskrivning |
---|---|
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED | Effekten förutsätter att alfaläget är premultiplied. |
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT | Effekten förutsätter att alfaläget är rakt. |
D2D1_GAMMA1_G2084 beteendeändringar
Om ditt program använder D2D1_GAMMA1_G2084 utrymme, eller något av de DXGI_COLOR_SPACE_TYPE uppräkningsvärden som använder färgrymden SMPTE ST.2084 (Perceptual Quantizer), avser programmet att arbeta med HDR-data.
ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile och ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace API:er tar inte hänsyn till det. I stället skalas HDR-innehållet så att det passar i 0-1-intervallet under G2084 DeGamma-åtgärden.
I praktiken använder innehåll som kodas i detta gammautrymme en referens whitelevel på 10 000 nits, som normalt skulle representeras i CCCS som 10 000 / 80 = 125,0. För att underlätta din app är det därför enklast för den här gammakonverteringen att även skala luminansen med en faktor 125. Från och med Windows 10 version 1809 (10.0; Build 17763), beteendet för färghanteringseffekten är sådan att den tillämpar den här skalningen. Det innebär att du som utvecklare inte behöver tillämpa en andra justeringseffekt på vit nivå i pipelinen.
Efterlevnad av ICC-specifikation
Färghanteringseffekten är kompatibel med ICC v4.3-specifikationen med följande begränsningar:
- Effekten stöder färgrymder på 1, 3 och 4 kanaler.
- Effekten stöder inte colorspace- eller namngivna färgprofiler.
Beteende för alfakanal
I allmänhet anger effekten alfa till 1 (ogenomskinlig) om det inte finns några alfadata i källbilden och alfadata ignoreras om det inte finns något utrymme i målbilden. Tabellen här beskriver alfabeteendet.
Källfärgområde, pixelformat | Målfärgrymd, pixelformat | Alfabeteende |
---|---|---|
1 kanal, R pixelformat |
1 kanal, R pixelformat | (Inga alfadata) |
1 kanal, RGBA-pixelformat | Alfadata är inställda på 1 (ogenomskinlig) | |
3-kanal, RGBA-pixelformat | Alfadata är inställda på 1 (ogenomskinlig) | |
4-kanal, RGBA-pixelformat | (Inga alfadata) | |
1 kanal, RGBA-pixelformat |
1 kanal, R pixelformat | Alfadata ignoreras |
1 kanal, RGBA-pixelformat | Alfadata skickas genom | |
3-kanal, RGBA-pixelformat | Alfadata skickas genom | |
4-kanal, RGBA-pixelformat | Alfadata ignoreras | |
3-kanal, RGBA-pixelformat |
1 kanal, R pixelformat | Alfadata ignoreras |
1 kanal, RGBA-pixelformat | Alfadata skickas genom | |
3-kanal, RGBA-pixelformat | Alfadata skickas genom | |
4-kanal, RGBA-pixelformat | Alfadata ignoreras | |
4-kanal, RGBA-pixelformat |
1 kanal, R pixelformat | (Inga alfadata) |
1 kanal, RGBA-pixelformat | Alfadata är inställda på 1 (ogenomskinlig) | |
3-kanal, RGBA-pixelformat | Alfadata är inställda på 1 (ogenomskinlig) | |
4-kanal, RGBA-pixelformat | (Inga alfadata) |
Kvalitetslägen
Läge | Beskrivning |
---|---|
D2D1_COLORMANAGEMENT_QUALITY_PROOF | Det lägsta kvalitetsläget. Det här läget kräver funktionsnivå 9_1 eller senare. |
D2D1_COLORMANAGEMENT_QUALITY_NORMAL | Normalt kvalitetsläge. Det här läget kräver funktionsnivå 9_1 eller senare. |
D2D1_COLORMANAGEMENT_QUALITY_BEST | Det bästa kvalitetsläget. Det här läget kräver funktionsnivå 10_0 eller senare, samt buffertar för flyttalsprecision. Det här läget stöder flyttalsprecision och utökat intervall enligt definitionen i ICC v4.3-specifikationen. |
Färghanteringseffekten misslyckas vid ritning om programmet begär ett kvalitetsläge som inte stöds av maskinvaran. Du kan fastställa funktionsnivån när du anropar D3D11CreateDevice. Du kan söka efter stöd för flyttalsbuffert genom att anropa ID2D1EffectContext::IsBufferPrecisionSupported med värdet D2D1_BUFFER_PRECISION_32BPC_FLOAT.
Exempelkod
Ett exempel på den här effekten är att ladda ned Direct2D-effektfotojusteringsexempeloch se lektion 4 i exemplet.
Krav
Krav | Värde |
---|---|
Lägsta klient som stöds | Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar] |
Lägsta server som stöds | Windows 8 och Platform Update för Windows 7 [skrivbordsappar | Windows Store-appar] |
Rubrik | d2d1effects.h |
Bibliotek | d2d1.lib, dxguid.lib |