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
- Modalità finalità di rendering
- Modalità alfa dell'immagine di input
- Conformità con la specifica ICC
- Comportamento del canale alfa
- Modalità qualità
- Codice di esempio
- Requisiti
- Argomenti correlati
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 |