<Return[C]><Top>

CreateColorTransform

Declare Sub Api_CreateColorTransform Lib "mscms" Alias "CreateColorTransformA" (ByRef pLogColorSpace As LOGCOLORSPACE, ByRef hDestProfile&, ByRef hTargetProfile&, ByVal dwFlags&)

Declare Sub CreateColorTransform Lib "mscms" Alias "CreateColorTransformA" (ByRef pLogColorSpace As LOGCOLORSPACE, ByRef hDestProfile As Long, ByRef hTargetProfile As Long, ByVal dwFlags As Long)

アプリケーションがカラーマネージメントに利用できるカラートランスフォームを作成する。

パラメータ
pLogColorSpace

    変換元の LOGCOLORSPACE 構造体へのポインタを指定する。
hDestProfile

    最終変換先デバイスのプロファイルのハンドルを指定する。
hTargetProfile

    ターゲットデバイスのプロファイルのハンドルを指定する。
dwFlags

    作成するトランスフォームを色域のチェックに使う場合は、dwFlags の下位 WORD を ENABLE_GAMUT_CHECKING に設定する。
    上位 WORD は、PROOF_MODE、NORMAL_MODE、BEST_MODE のいずれの定数に設定する。PROOF_MODE から

    BEST_MODE になるほど、一般に出力品質が向上する一方で、変換速度が低下する。

戻り値
    関数が成功すると、カラートランスフォームのハンドルが返る。
    関数が失敗すると、NULL が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    hTargetProfile に NULL を渡すと、変換元の論理色空間から最終変換先プロファイルに直接色変換をするカラートランスフォームが作成さ

    れる。ターゲットプロファイルを指定すると、変換元の論理色空間からターゲットプロファイルにいったん変換した後、最終変換先プロファイル

    への変換を行うカラートランスフォームが作成される。ターゲットプロファイルにいったん変換することで、最終変換先デバイス用の出力をターゲ

    ットデバイス上でプレビューできる。
    dwFlags の値は手がかりに過ぎない。その最善の使い方は、カラーマネージメントモジュールが決定しなければならない。
    CreateColorTransform 関数は、DC の外側で使う。特定のカラープロファイルから同じカラープロファイルへの変換を行うと、色が変化する

    ことがある。これは精度エラーによるものである。そのため、そのような状況下では色変換を行わない。
    トランスフォームのターゲットにするプロファイルには B2Ax タグが必要である。