Funzione CheckBitmapBits (icm.h)

Verifica se i pixel in una bitmap specificata si trovano all'interno del intervallo di output di una trasformazione specificata.

Sintassi

BOOL CheckBitmapBits(
  HTRANSFORM    hColorTransform,
  PVOID         pSrcBits,
  BMFORMAT      bmInput,
  DWORD         dwWidth,
  DWORD         dwHeight,
  DWORD         dwStride,
  PBYTE         paResult,
  PBMCALLBACKFN pfnCallback,
  LPARAM        lpCallbackData
);

Parametri

hColorTransform

Gestire la trasformazione del colore da usare.

pSrcBits

Puntatore alla bitmap per verificare la gamma di output.

bmInput

Specifica il formato della bitmap. Deve essere impostato su uno dei valori del tipo enumerato BMFORMAT .

dwWidth

Specifica il numero di pixel per ogni riga di analisi della bitmap.

dwHeight

Specifica il numero di righe di analisi della bitmap.

dwStride

Specifica il numero di byte dall'inizio di una riga di analisi all'inizio del successivo. Se impostato su zero, si presuppone che le righe di analisi bitmap vengano riempite in modo da essere allineate a DWORD.

paResult

Puntatore a una matrice di byte in cui devono essere inseriti i risultati del test. Questo buffer dei risultati deve contenere almeno quanti byte sono presenti pixel nella bitmap.

pfnCallback

Puntatore a una funzione di callback chiamata periodicamente da CheckBitmapBits per segnalare lo stato di avanzamento e consentire al processo chiamante di annullare il test bitmap. Vedere ICMProgressProgressProcCallback.

lpCallbackData

I dati passati alla funzione di callback, ad esempio, per identificare il test bitmap su cui viene segnalato lo stato di avanzamento.

Valore restituito

Se questa funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se questa funzione ha esito negativo, il valore restituito è zero. Per informazioni sull'errore estese, chiamare GetLastError.

Commenti

Se il formato di input non è compatibile con la trasformazione del colore, la funzione CheckBitmapBits ha esito negativo.

Questa funzione inserisce i risultati dei test nel buffer a cui punta paResult. Ogni byte nel buffer corrisponde a un pixel nella bitmap e ha un valore senza segno compreso tra 0 e 255. Il valore 0 indica che il colore è in gamma, mentre un valore diverso da zero indica che è fuori gamma. Per qualsiasi numero intero n in modo che 0 <n< 255, un valore di risultato di n + 1 indica che il colore corrispondente è almeno al di fuori del gamut come sarebbe indicato da un valore di risultato di n.

Quando viene usato uno dei BMFORMATs a virgola mobile, BM_32b_scARGB o BM_32b_scRGB, i dati dei colori controllati non devono contenere NaN o infinito. NaN e infinito non sono considerati come valori legittimi dei componenti del colore e il risultato del controllo dei pixel contenenti NaN o infinito è senza senso in termini di colore. I valori NaN o infinito nei dati di colore elaborati verranno gestiti in modo invisibile all'utente e non verrà restituito un errore.

Le informazioni out-of-gamut nei tag di gamma creati in WCS usano la distanza di colore percetuale in CIECAM02, ovvero la radice quadrata media in CIECAM02 spazio Jab. La distanza nei tag di gamma di profili ICC legacy è la radice quadrata media nello spazio CIELAB. È consigliabile usare lo spazio CIECAM02 quando è disponibile perché fornisce metriche di distanza più accurate in modo perceputivo.

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