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 |