Funzione CreateColorTransformA (icm.h)

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

Sintassi

HTRANSFORM CreateColorTransformA(
  LPLOGCOLORSPACEA 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 Windows Color System (WCS).

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 controllare la creazione 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 sull'errore estese, chiamare GetLastError.

Commenti

Se il profilo di destinazione è NULL, la trasformazione passa dallo spazio del colore logico di origine al profilo di destinazione. Se viene specificato il profilo di destinazione, la trasformazione passa dallo spazio del 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 di SEQUENTIAL_TRANSFORM può essere usata solo nel thread in cui è stata creata e solo per una chiamata di conversione dei colori alla volta. COM deve essere inizializzato prima di creare la trasformazione sequenziale e deve rimanere inizializzato per la durata dell'oggetto transform.
WCS_ALWAYS Se questo bit è impostato, anche tutte le trasformazioni 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 SEQUENTIAL_TRANSFORM , definirlo nell'applicazione come indicato di seguito:#define SEQUENTIAL_TRANSFORM 0x80800000

Per informazioni dettagliate, vedere Flag di creazione di trasformazioni CMM. Tutti i flag menzionati sono supportati per tutti i tipi di trasformazioni, ad eccezione di FAST_TRANSLATE, che funziona solo in una pura trasformazione ICC-to-ICC.

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

I tag B2Ax sono necessari per qualsiasi profilo destinato a una trasformazione.

Il supporto per la trasformazione WCS per i profili ColorSpace ICC è limitato ai profili di spazi di colore RGB. I tipi di profilo ICC seguenti non possono essere usati in una trasformazione CITE-processata, una trasformazione WCS/ICC 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