次の方法で共有


WcsCreateIccProfile 関数 (icm.h)

WCS プロファイルを国際カラー コンソーシアム (ICC) プロファイルに変換します。

構文

HPROFILE WcsCreateIccProfile(
  HPROFILE hWcsProfile,
  DWORD    dwOptions
);

パラメーター

hWcsProfile

変換される WCS カラー プロファイルへのハンドル。 「解説」を参照してください。

dwOptions

プロファイル変換オプションを指定するフラグ値。

既定では、変換に使用された元の WCS プロファイルは、Microsoft プライベート タグ WcsProfilesTag (署名 "MS000" を含む) の出力 ICC プロファイルに埋め込まれます。 これにより、ICC ソフトウェアと互換性のある ICC プロファイルが生成され、解析用に設計されたコードで使用できる元の WCS プロファイル データが保持されます。

このパラメーターで使用できる値は次のとおりです。 このリストで定義されていないビットはすべて予約されており、0 に設定する必要があります。

説明
WCS_DEFAULT 新しい ICC プロファイルに、プライベート WcsProfilesTag 内の元の WCS プロファイルが含まれていることを指定します。
WCS_ICCONLY 新しい ICC プロファイルに WcsProfilesTag または元の WCS プロファイルが含まれていないことを指定します。

戻り値

この関数が成功した場合、戻り値は新しいカラー プロファイルのハンドルです。

この関数が失敗した場合、戻り値は NULL です。 拡張エラー情報については、 GetLastError を呼び出します。

解説

この関数は、ASCII 文字列または Unicode 文字列で使用できます。

CloseColorProfile 関数は、返された HPROFILE ハンドルが不要になったときに閉じるのに使用する必要があります。

HPROFILE の DMP、CAMP、および GMMP は、作成された ICC プロファイル内のプライベート タグに埋め込まれます。

この API を使用して作成された ICC プロファイルには、次のパターンに従って WCS プロファイルの ProfileName 要素からプロファイル記述タグが作成されます。"DMP:[the DMP ProfileName], CAMP:[THE CAMP ProfileName], GMMP:[the GMMP ProfileName]"

WCS がこの ICC プロファイルを検出すると ( OpenColorProfileW または WcsOpenColorProfileW を使用して) WcsProfilesTag に含まれる WCS プロファイルを抽出して使用します。

WCS で作成された色域タグの色域外情報では、CIECAM02 の知覚色距離 (CIECAM02 Jab 空間の平均平方根) が使用されます。 従来の ICC プロファイルの色域タグの距離は、CIELAB 空間の平均平方根です。 使用可能な場合は、CIECAM02 スペースを使用して、より正確な距離メトリックを提供することをお勧めします。

WCS は、デバイスに明示的に関連付けられた XML プロファイル、またはWcsProfilesTag を持つ ICC プロファイルを使用して、元の WCS プロファイルを抽出して使用します。

WcsProfilesTag は、WcsCreateIccProfile に入力された WCS プロファイルを格納するために WcsCreateIccProfile によって作成されたプロファイルで使用される Microsoft プライベート ICC プロファイル タグです。 このタグは、プロファイル タグの ICC プロファイル要件に準拠しています。 タグの XML 以外のコンポーネントは、ICC プロファイルの標準である "Big-Endian" バイト順序である必要があります。 さらに、タグ データは 4 バイト境界 (ICC プロファイルの先頭から測定) に配置する必要があります。 タグの構造は、以下の WcsProfilesTagType によって定義されます。 タグの XML コンポーネントである WcsProfileTag に含まれる WCS プロファイルは、ネイティブのバイト順序のままであり、XML パーサーが正しく処理するため、リトル エンディアンまたはビッグ エンディアンのいずれかである可能性があることに注意してください。

WcsProfilesTag シグネチャは "MS00" です。 これは WcsProfilesTag の ICC プロファイル タグ テーブルに表示されるタグ署名です。

WcsProfilesTagType 構造体の構造は次のとおりです。

バイト オフセット コンテンツ
0-3 MS10 型のシグネチャ。
4-7 予約済み。0 (ICC の伝統) に設定する必要があります。
8-11 タグの先頭から CDMP データへのバイト オフセット。
12-15 CDMP データのサイズ (バイト単位)。
16-19 タグの先頭から CAMP データへのバイト オフセット。
20-23 CAMP データのサイズ (バイト単位)。
24-27 タグの先頭から GMMP データへのバイト オフセット。
28-31 タグの先頭から GMMP データへのバイト オフセット。
31-n (要素サイズ -32) バイトのシーケンス [ここで、要素サイズは、このタグの ICC プロファイル タグ テーブル エントリに記録されたタグ サイズです。

これらは、この ICC プロファイルを作成するために WcsCreateIccProfile によって使用された WCS XML プロファイルです。 WCS プロファイルは、最初に DMP (必須) の後に CAMP (存在する場合) が続き、その後に GMMP (存在する場合) が続きます。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header icm.h
Library Mscms.lib
[DLL] Mscms.dll

関連項目