Effetto di gestione dei colori

Usare l'effetto di gestione dei colori per trasformare un'immagine da un profilo di colore ICC (International Color Consortium) a un altro. L'effetto trasforma l'immagine in base alla specifica ICC.

ClSID per questo effetto è CLSID_D2D1ColorManagement.

Proprietà dell'effetto

Enumerazione nome visualizzato e indice Descrizione
SourceContext
D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT
Informazioni sullo spazio dei colori di origine. Il tipo è ID2D1ColorContext.
Il valore predefinito è NULL.
SourceIntent
D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT
Finalità di rendering di ICC da usare. Il tipo è D2D1_COLORMANAGEMENT_RENDERING_INTENT.
Il valore predefinito è D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL.
DestinationContext
D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT
Informazioni sullo spazio dei colori di destinazione. Il tipo è ID2D1ColorContext.
Il valore predefinito è NULL.
DestinationIntent
D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT
Finalità di rendering di ICC da usare. Il tipo è D2D1_COLORMANAGEMENT_RENDERING_INTENT.
Il valore predefinito è D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL.
AlphaMode
D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE
Come interpretare i dati alfa contenuti nell'immagine di input. Il tipo è D2D1_COLORMANAGEMENT_ALPHA_MODE.
Il valore predefinito è D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED.
Qualità
D2D1_COLORMANAGEMENT_PROP_QUALITY
Livello di qualità della trasformazione. Il tipo è D2D1_COLORMANAGEMENT_QUALITY.
Il valore predefinito è D2D1_COLORMANAGEMENT_QUALITY_NORMAL.

Modalità finalità di rendering

Enumerazione Descrizione
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL L'effetto comprime o espande la gamma di colori completa dell'immagine per riempire la gamma di colori del dispositivo, per produrre un output percepumente piacevole che mantiene i dettagli del colore, ma può sacrificare l'accuratezza colorimetrica. È utile per la riproduzione generale di contenuti reali, ad esempio foto.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC L'effetto regola tutti i colori che rientrano all'esterno del gamut che il dispositivo di output può eseguire il rendering al colore più vicino che può essere eseguito il rendering. Non mantiene il punto bianco.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION L'effetto mantiene la saturazione dei colori pure nell'immagine al possibile costo di tonalità e leggerezza. È utile per grafici come grafici e diagrammi.
D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC L'effetto regola tutti i colori che rientrano all'esterno del gamut che il dispositivo di output può eseguire il rendering al colore più vicino che può essere eseguito il rendering. L'effetto non modifica i colori in-gamut e mantiene il punto bianco.

Modalità alfa dell'immagine di input

Enumerazione Descrizione
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED L'effetto presuppone che la modalità alfa sia premultiplied.
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT L'effetto presuppone che la modalità alfa sia dritta.

modifiche D2D1_GAMMA1_G2084 comportamento

Se l'applicazione usa lo spazio D2D1_GAMMA1_G2084 o uno dei valori di enumerazione DXGI_COLOR_SPACE_TYPE che usano lo spazio colore SMPTE ST.2084 (Perceptual Quantizer), l'applicazione intende usare i dati HDR.

L'ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile e ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace non account; invece, il contenuto HDR viene ridimensionato per adattarsi all'intervallo 0-1 durante l'operazione DeGamma G2084.

In pratica, il contenuto codificato in questo spazio gamma usa un riferimento WhiteLevel di 10.000 Nits, che normalmente verrebbe rappresentato in CCCS come 10.000 /80 = 125.00. Quindi, per facilitare meglio l'app, è più semplice per questa conversione gamma anche ridimensionare la luminanza da un fattore di 125. A partire da Windows 10, versione 1809 (10,0; Build 17763), il comportamento dell'effetto di gestione dei colori è tale che si applica questa scalabilità. Ciò significa che, come sviluppatore, non è necessario applicare un secondo effetto di regolazione a livello bianco nella pipeline.

Conformità con la specifica ICC

L'effetto di gestione dei colori è conforme alla specifica ICC v4.3, con queste limitazioni:

  • L'effetto supporta spazi di colore di 1, 3 e 4 canali.
  • L'effetto non supporta i profili ColorSpace o Denominato Color.

Comportamento del canale alfa

In generale, l'effetto imposta alfa su 1 (opaco) se non sono presenti dati alfa nell'immagine di origine e i dati alfa vengono eliminati se non esiste alcuna stanza nell'immagine di destinazione. La tabella seguente descrive il comportamento alfa.

Spazio colori di origine, formato pixel Spazi colori di destinazione, formato pixel Comportamento alfa
1 canale, formato pixel R
1 canale, formato pixel R (Nessun dato alfa)
1 canale, formato pixel RGBA I dati alfa sono impostati su 1 (opaco)
3 canali, formato pixel RGBA I dati alfa sono impostati su 1 (opaco)
4 canali, formato pixel RGBA (Nessun dato alfa)
1 canale, formato pixel RGBA
1 canale, formato pixel R I dati alfa vengono eliminati
1 canale, formato pixel RGBA I dati alfa vengono passati attraverso
3 canali, formato pixel RGBA I dati alfa vengono passati attraverso
4 canali, formato pixel RGBA I dati alfa vengono eliminati
3 canali, formato pixel RGBA
1 canale, formato pixel R I dati alfa vengono eliminati
1 canale, formato pixel RGBA I dati alfa vengono passati attraverso
3 canali, formato pixel RGBA I dati alfa vengono passati attraverso
4 canali, formato pixel RGBA I dati alfa vengono eliminati
4 canali, formato pixel RGBA
1 canale, formato pixel R (Nessun dato alfa)
1 canale, formato pixel RGBA I dati alfa sono impostati su 1 (opaco)
3 canali, formato pixel RGBA I dati alfa sono impostati su 1 (opaco)
4 canali, formato pixel RGBA (Nessun dato alfa)

Modalità di qualità

Mode Descrizione
D2D1_COLORMANAGEMENT_QUALITY_PROOF Modalità di qualità più bassa. Questa modalità richiede il livello di funzionalità 9_1 o superiore.
D2D1_COLORMANAGEMENT_QUALITY_NORMAL Modalità di qualità normale. Questa modalità richiede il livello di funzionalità 9_1 o superiore.
D2D1_COLORMANAGEMENT_QUALITY_BEST La modalità di qualità migliore. Questa modalità richiede il livello di funzionalità 10_0 o superiore, nonché i buffer di precisione a virgola mobile. Questa modalità supporta la precisione a virgola mobile e l'intervallo esteso, come definito nella specifica ICC v4.3.

L'effetto di gestione dei colori non riesce quando si disegna se l'applicazione richiede una modalità di qualità non supportata dall'hardware. È possibile determinare il livello di funzionalità quando si chiama D3D11CreateDevice. È possibile verificare il supporto del buffer a virgola mobile chiamando ID2D1EffectContext::IsBufferPrecisionSupported con il valore D2D1_BUFFER_PRECISION_32BPC_FLOAT.

Codice di esempio

Per un esempio di questo effetto, scaricare il campione di regolazione delle foto degli effetti Direct2D e vedere lezione 4 dell'esempio.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 e aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store]
Server minimo supportato Windows 8 e aggiornamento della piattaforma per Windows 7 [app desktop | App di Windows Store]
Intestazione d2d1effects.h
Libreria d2d1.lib, dxguid.lib