Panoramica sulla gestione dei colori
Le immagini digitali provengono da e sono destinate a un'ampia gamma di dispositivi, ognuno dei quali ha una propria gamma e gamma dinamica. Se un fotografo dovesse catturare la stessa scena su due fotocamere diverse, i colori nelle immagini risultanti non apparirebbero esattamente allo stesso modo, anche quando viene eseguito il rendering nello stesso dispositivo di output perché le funzionalità di gamut dei colori dei due dispositivi di origine erano diverse. Analogamente, la stessa immagine di cui viene eseguito il rendering in due dispositivi di destinazione diversi verrà visualizzata in modo diverso perché i dispositivi di destinazione hanno profili di colore diversi. Per garantire una riproduzione coerente dei colori tra i dispositivi, è necessario creare un mapping dal profilo colore del dispositivo di origine al profilo colore del dispositivo di destinazione. La gestione dei colori cerca di produrre una corrispondenza visiva stretta e coerente ed è una caratteristica fondamentale nella creazione di immagini professionali.
Essere in grado di riprodurre in modo coerente il colore tra scanner, monitor, stampanti e applicazioni sembra un obiettivo semplice, ma senza un sistema di gestione dei colori nel sistema operativo, è difficile raggiungere. Se ogni applicazione è necessaria per generare i propri profili di colore, è quasi impossibile ottenere un interscambio di colori coerente durante il processo di pubblicazione, che include l'analisi, la modifica e la composizione, la correzione e la distribuzione.
Windows Imaging Component (WIC) semplifica la gestione dei colori fornendo l'interfaccia IWICColorContext e l'interfaccia IWICColorTransform . È possibile ottenere un oggetto IWICColorTransform usando IWICFactory::CreateColorTransformer. IWICColorContext è un'astrazione per il profilo colore del dispositivo. IWICColorContext viene inizializzato con una cornice bitmap, il profilo colore del dispositivo di origine e il profilo di colore del dispositivo di destinazione. Esegue la conversione del frame bitmap.