Funzione CreateColorTransformW (icm.h)

Crea una trasformazione di colore che le applicazioni possono usare per eseguire la gestione dei colori.

Sintassi

HTRANSFORM CreateColorTransformW(
  LPLOGCOLORSPACEW pLogColorSpace,
  HPROFILE         hDestProfile,
  HPROFILE         hTargetProfile,
  DWORD            dwFlags
);

Parametri

pLogColorSpace

Puntatore all'input LOGCOLORSPACEA.

hDestProfile

Gestire il profilo del dispositivo di destinazione. La funzione determina se HPROFILE contiene informazioni sul profilo INTERNATIONAL Color Consortium (ICC) o WCS (Windows Color System).

hTargetProfile

Gestire il profilo del dispositivo di destinazione. La funzione determina se HPROFILE contiene informazioni sul profilo ICC o WCS.

dwFlags

Specifica i flag per utilizzare la creazione del controllo della trasformazione. Vedere la sezione Osservazioni.

Valore restituito

Se questa funzione ha esito positivo, il valore restituito è un handle per la trasformazione del colore.

Se questa funzione ha esito negativo, il valore restituito è NULL. Per informazioni sugli errori estesi, chiamare GetLastError.

Commenti

Se il profilo di destinazione è NULL, la trasformazione passa dallo spazio colore logico di origine al profilo di destinazione. Se viene specificato il profilo di destinazione, la trasformazione passa dallo spazio colore logico di origine al profilo di destinazione e quindi al profilo di destinazione. Ciò consente l'anteprima dell'output destinato al dispositivo di destinazione nel dispositivo di destinazione.

I valori in dwFlags sono destinati solo agli hint. Il modulo di gestione dei colori deve determinare il modo migliore per usarli.

Windows Vista: sono stati aggiunti tre nuovi flag che possono essere usati con dwFlags:

Flag Descrizione
PRESERVEBLACK Se questo bit è impostato, il motore di trasformazione inserisce il GMMP di generazione nera appropriato come ultimo GMMP nella sequenza di trasformazione. Questo flag funziona solo in una trasformazione WCS pura.
SEQUENTIAL_TRANSFORM Se questo bit è impostato, ogni passaggio della pipeline di elaborazione WCS viene eseguito per ogni pixel nell'immagine e non viene compilata alcuna trasformazione di colore ottimizzata. Questo flag funziona solo in una trasformazione WCS pura. Restrizioni: una trasformazione creata con il set di flag SEQUENTIAL_TRANSFORM può essere usata solo nel thread in cui è stato creato e solo per una chiamata di conversione dei colori alla volta. È necessario inizializzare COM prima di creare la trasformazione sequenziale e deve rimanere inizializzata per la durata dell'oggetto transform.
WCS_ALWAYS Se questo bit è impostato, anche le trasformazioni ALL-ICC useranno il percorso del codice WCS.

Nota

SEQUENTIAL_TRANSFORM è stato omesso inavvertitamente dall'intestazione icm.h in Windows Vista SDK. Se si vuole usare il flag di SEQUENTIAL_TRANSFORM , definirlo nell'applicazione come indicato di seguito:#define SEQUENTIAL_TRANSFORM 0x80800000

Per informazioni dettagliate, vedere Flag di creazione della trasformazione CMM. Tutte le bandiere menzionate sono supportate per tutti i tipi di trasformazioni, ad eccezione di FAST_TRANSLATE, che funziona solo in una trasformazione pura da CPI a CPI.

La funzione CreateColorTransform viene usata all'esterno di un contesto di dispositivo. I colori possono essere spostati durante la trasformazione da un profilo colore allo stesso profilo di colore. Ciò è dovuto a errori di precisione. Pertanto, in queste circostanze non deve essere eseguita una trasformazione di colore.

I tag B2Ax sono necessari per qualsiasi profilo che rappresenta la destinazione di una trasformazione.

Il supporto per la trasformazione WCS per i profili COLORSpace di ICC è limitato ai profili di spazi di colore RGB. I seguenti tipi di profilo CPI non possono essere usati in una trasformazione elaborata da CITE, una trasformazione WCS/CP mista o una trasformazione all-ICC con WCS_ALWAYS set:

  • Profili ColorSpace non RGB
  • Profili NamedColor
  • Profili n-channel (dove n > 8)
  • Profili DeviceLink
  • Profili astratti

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione icm.h
Libreria Mscms.lib
DLL Mscms.dll

Vedi anche