<Return[C]><Top>

CMCheckRGBs

Declare Function Api_CMCheckRGBs& Lib "icm32" (ByRef hcmTransform&, lpSrcBits As Any, ByVal bmInput As Struct_MembersOf_BMFORMAT, ByVal dwWidth&, ByVal dwHeight&, ByVal dwStride&, ByVal lpaResult$, ByRef pfnCallback As PBMCALLBACKFN, ByVal ulCallbackData&)

Declare Function CMCheckRGBs Lib "icm32" (ByRef hcmTransform As Long, lpSrcBits As Any, ByVal bmInput As Struct_MembersOf_BMFORMAT, ByVal dwWidth As Long, ByVal dwHeight As Long, ByVal dwStride As Long, ByVal lpaResult As String, ByRef pfnCallback As PBMCALLBACKFN, ByVal ulCallbackData As Long) As Long

ビットマップ内のピクセルが特定のカラートランスフォームの出力色域に含まれるかどうか調べる。

パラメータ
hcmTransform
    カラートランスフォームのハンドルを指定する。
lpSrcBits
    テストするビットマップへのポインタを指定する。
bmInput
    ビットマップの形式を指定する。
dwWidth
    ビットマップの 1 走査行あたりのピクセル数を指定する。
dwHeight
    ビットマップの走査行の数を指定する。
dwStride
    ビットマップ内の 1 つの走査行の先頭から次の走査行の先頭までのバイト数を指定する。0 を渡した場合、CMM は、DWORD の境界に

    整列するように走査行がパディングされているとみなす必要がある。

lpaResult
    テスト結果を受け取るバッファへのポインタを指定する。
    結果はバイト配列で表される。配列内の各バイトがビットマップ内の1つのピクセルに対応し、関数の終了時、0〜255 までの符号なし値の

    1つに設定される。0 は対応する色が色域に含まれることを意味し、0 以外の値は色域に含まれないことを意味する。結果の値が n + 1(n

    は 0 < n < 255 を満たす任意の整数)の場合、対応する色は結果が n の色と同じかそれ以上色域から離れていることを示す。この値は、

    通常、ICC プロファイル内の gamutTag から生成される。
pfnCallback
    CMCheckRGBs 関数が定期的に呼び出すアプリケーション定義のコールバック関数へのポインタを指定する。コールバック関数の呼び出し

    によって進捗状況を報告し、変換を取り消す機会を呼び出し側プロセスに与える。
ulCallbackData
    コールバック関数に戻すデータを指定する。このデータは、たとえば、進捗状況を報告しているビットマップテストを識別するのに使う。

戻り値
    関数が成功すると、TRUE が返る。
    関数が失敗すると、FALSE が返る。関数が成功しなかった場合、CMM は SetLastError 関数を呼び出して最終エラー値を

    WINERROR.H で定義されている有効なエラー値に設定しなければならない。

解説
    すべての CMM がこの関数をエクスポートする必要がある。
    ビットマップの形式にカラートランスフォームとの互換性がないと、CMCheckRGBs 関数は失敗する。
    コールバック関数が 0 を返す場合は、処理が取り消されたことを示す。その場合、CMCheckRGBs 関数は 0 を返して失敗を示さなければ

    ならない。このとき、データの一部がバッファに格納されていることがある。