Freigeben über


CheckBitmapBits-Funktion (icm.h)

Überprüft, ob die Pixel in einer angegebenen Bitmap innerhalb des Ausgabeumfangs einer angegebenen Transformation liegen.

Syntax

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

Parameter

hColorTransform

Handle für die zu verwendende Farbtransformation.

pSrcBits

Zeiger auf die Bitmap, um den Ausgabeumfang zu überprüfen.

bmInput

Gibt das Format der Bitmap an. Muss auf einen der Werte des aufgezählten BMFORMAT-Typs festgelegt werden.

dwWidth

Gibt die Anzahl der Pixel pro Scanzeile der Bitmap an.

dwHeight

Gibt die Anzahl der Scanzeilen der Bitmap an.

dwStride

Gibt die Anzahl der Bytes vom Anfang einer Scanzeile bis zum Anfang der nächsten an. Wenn dieser Wert auf 0 festgelegt ist, wird davon ausgegangen, dass die Bitmapscanlinien aufgefüllt sind, sodass sie DWORD ausgerichtet sind.

paResult

Zeiger auf ein Bytearray, in dem die Testergebnisse platziert werden sollen. Dieser Ergebnispuffer muss mindestens so viele Bytes enthalten, wie pixel in der Bitmap vorhanden sind.

pfnCallback

Zeiger auf eine Rückruffunktion, die regelmäßig von CheckBitmapBits aufgerufen wird, um den Fortschritt zu melden und dem aufrufenden Prozess das Abbrechen des Bitmaptests zu ermöglichen. (Siehe ICMProgressProcCallback).

lpCallbackData

Daten, die an die Rückruffunktion zurückgegeben werden, z. B. zur Identifizierung des Bitmaptests, über den der Fortschritt gemeldet wird.

Rückgabewert

Wenn diese Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich null.

Wenn diese Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Hinweise

Wenn das Eingabeformat nicht mit der Farbtransformation kompatibel ist, schlägt die CheckBitmapBits-Funktion fehl.

Diese Funktion platziert Ergebnisse der Tests im Puffer, auf den paResult verweist. Jedes Byte im Puffer entspricht einem Pixel in der Bitmap und weist einen Wert ohne Vorzeichen zwischen 0 und 255 auf. Der Wert 0 gibt an, dass sich die Farbe im Gamut befindet, während ein Wert ungleich null angibt, dass sie sich außerhalb des Farbraums befindet. Für jede ganze Zahl n , die 0 <n< 255 ist, gibt der Ergebniswert n + 1 an, dass die entsprechende Farbe mindestens so weit außerhalb des Gamuts liegt, wie durch einen Ergebniswert von n angegeben würde.

Wenn eines der Gleitkomma-BMFORMATs, BM_32b_scARGB oder BM_32b_scRGB verwendet wird, sollten die überprüften Farbdaten keine NaN oder Unendlichkeit enthalten. NaN und unendlich werden nicht als legitime Farbkomponentenwerte betrachtet, und das Ergebnis der Überprüfung von Pixeln, die NaN oder Unendlich enthalten, ist farblich bedeutungslos. NaN- oder Unendlichkeitswerte in den verarbeiteten Farbdaten werden automatisch behandelt, und ein Fehler wird nicht zurückgegeben.

Die In WCS erstellten Gamut-Tags verwenden den wahrnehmungsbezogenen Farbabstand in CIECAM02, d. h. die mittlere Quadratwurzel in CIECAM02 Jab-Raum. Der Abstand in den älteren ICC-Profil-Gamuttags ist die mittlere Quadratwurzel im CIELAB-Raum. Es wird empfohlen, den CIECAM02 Speicherplatz zu verwenden, wenn er verfügbar ist, da er wahrnehmungsgenauere Entfernungsmetriken bereitstellt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile icm.h
Bibliothek Mscms.lib
DLL Mscms.dll

Weitere Informationen