Dela via


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.

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