次の方法で共有


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

こちらもご覧ください