CheckBitmapBits 関数 (icm.h)
指定したビットマップ内のピクセルが、指定した変換の出力 色域 内にあるかどうかを確認します。
構文
BOOL CheckBitmapBits(
HTRANSFORM hColorTransform,
PVOID pSrcBits,
BMFORMAT bmInput,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwStride,
PBYTE paResult,
PBMCALLBACKFN pfnCallback,
LPARAM lpCallbackData
);
パラメーター
hColorTransform
使用する色変換を処理します。
pSrcBits
出力色域に対してチェックするビットマップへのポインター。
bmInput
ビットマップの形式を指定します。 BMFORMAT 列挙型のいずれかの値に設定する必要があります。
dwWidth
ビットマップのスキャンラインあたりのピクセル数を指定します。
dwHeight
ビットマップのスキャン行数を指定します。
dwStride
最初のスキャン行から次のスキャン行の先頭までのバイト数を指定します。 0 に設定すると、ビットマップ スキャン行は DWORD で整列されるように埋め込まれていると見なされます。
paResult
テスト結果を配置するバイト配列へのポインター。 この結果バッファーには、ビットマップにピクセルがある数以上のバイトが含まれている必要があります。
pfnCallback
CheckBitmapBits によって定期的に呼び出されるコールバック関数へのポインター。進行状況を報告し、呼び出し元のプロセスがビットマップ テストをキャンセルできるようにします。 ( ICMProgressProcCallback を参照してください)。
lpCallbackData
たとえば、進行状況が報告されているビットマップ テストを識別するために、コールバック関数に返されるデータ。
戻り値
この関数が成功した場合、戻り値は 0 以外の値になります。
この関数が失敗した場合、戻り値は 0 です。 拡張エラー情報については、 GetLastError を呼び出します。
注釈
入力形式がカラー変換と互換性がない場合、 CheckBitmapBits 関数は 失敗します。
この関数は、 paResult が指すバッファーにテストの結果を配置します。 バッファー内の各バイトはビットマップ内のピクセルに対応し、0 から 255 までの符号なし値を持ちます。 値 0 は色が色域にあることを示し、0 以外の値は色域外であることを示します。 0 <n< 255 のような任意の整数n の場合、n + 1 の結果値は、対応する色が、結果値 n で示されるとおりに少なくとも色域外であることを示します。
浮動小数点 BMFORMAT、BM_32b_scARGB、またはBM_32b_scRGBのいずれかが使用されている場合、チェック対象のカラー データに NaN または無限大を含めないようにする必要があります。 NaN と無限大は、正当な色成分値を表すとは見なされず、NaN または無限大を含むピクセルをチェックした結果、色の用語では意味がありません。 処理される色データの NaN または無限大の値はサイレント処理され、エラーは返されません。
WCS で作成された色域タグの色域外情報では、CIECAM02の知覚色の距離 (Jab 空間の平均平方根) CIECAM02使用されます。 従来の ICC プロファイルの色域タグの距離は、CIELAB 空間の平均平方根です。 使用可能な場合は、CIECAM02スペースを使用することをお勧めします。これは、より知覚的に正確な距離メトリックを提供するためです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | icm.h |
Library | Mscms.lib |
[DLL] | Mscms.dll |