色管理効果
カラー管理効果を使用して、画像を 1 つの ICC (International Color Consortium) カラー プロファイルから別のカラー プロファイルに変換します。 この効果は 、ICC 仕様に従って画像を変換します。
この効果の CLSID はCLSID_D2D1ColorManagement。
Effect プロパティ
表示名とインデックス列挙 | 説明 |
---|---|
SourceContext D2D1_COLORMANAGEMENT_PROP_SOURCE_COLOR_CONTEXT |
ソースの色空間情報。 型は ID2D1ColorContext です。 既定値は NULL です。 |
SourceIntent D2D1_COLORMANAGEMENT_PROP_SOURCE_RENDERING_INTENT |
使用する ICC レンダリング意図。 型がD2D1_COLORMANAGEMENT_RENDERING_INTENT。 既定値は D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL です。 |
DestinationContext D2D1_COLORMANAGEMENT_PROP_DESTINATION_COLOR_CONTEXT |
変換先の色空間情報。 型は ID2D1ColorContext です。 既定値は NULL です。 |
DestinationIntent D2D1_COLORMANAGEMENT_PROP_DESTINATION_RENDERING_INTENT |
使用する ICC レンダリング意図。 型がD2D1_COLORMANAGEMENT_RENDERING_INTENT。 既定値は D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL です。 |
AlphaMode D2D1_COLORMANAGEMENT_PROP_ALPHA_MODE |
入力イメージに含まれるアルファ データを解釈する方法。 型がD2D1_COLORMANAGEMENT_ALPHA_MODE。 既定値は D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED です。 |
品質 D2D1_COLORMANAGEMENT_PROP_QUALITY |
変換の品質レベル。 型がD2D1_COLORMANAGEMENT_QUALITY。 既定値は D2D1_COLORMANAGEMENT_QUALITY_NORMAL です。 |
意図モードのレンダリング
列挙 | 説明 |
---|---|
D2D1_COLORMANAGEMENT_RENDERING_INTENT_PERCEPTUAL | 効果は、デバイスの色域を埋めるために画像の完全な色域を圧縮または拡大し、色の詳細を保持するが比色精度を犠牲にする知覚的に楽しい出力を生成します。 写真などの実生活コンテンツの一般的な再現に役立ちます。 |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_RELATIVE_COLORIMETRIC | 効果は、出力デバイスがレンダリングできる色域の外側にある色を、レンダリングできる最も近い色に調整します。 白い点は保持されません。 |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_SATURATION | この効果は、色相と明るさを犠牲にして、画像内の純粋な色の彩度を維持します。 これは、グラフや図などのグラフィックスに役立ちます。 |
D2D1_COLORMANAGEMENT_RENDERING_INTENT_ABSOLUTE_COLORIMETRIC | 効果は、出力デバイスがレンダリングできる色域の外側にある色を、レンダリングできる最も近い色に調整します。 効果は色域内の色を変更せず、白い点を保持します。 |
入力イメージのアルファ モード
列挙 | 説明 |
---|---|
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED | この効果は、アルファ モードが事前に乗算されていることを前提としています。 |
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT | この効果は、アルファ モードが直線であることを前提としています。 |
D2D1_GAMMA1_G2084動作の変更
アプリケーションで D2D1_GAMMA1_G2084 領域、または SMPTE ST.2084 (Perceptual クオンタイザー) 色空間を使用する DXGI_COLOR_SPACE_TYPE 列挙値のいずれかを使用している場合、アプリケーションは HDR データを操作する予定です。
ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfile と ID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace API は、そのことを考慮していません。むしろ、HDRコンテンツはG2084 DeGamma操作中に0-1の範囲に収まるようにスケーリングされます。
実際には、このガンマ空間でエンコードされたコンテンツは、10,000 ニットの参照 WhiteLevel を使用します。これは通常、CCCS では 10,000 / 80 = 125.0 として表されます。 そのため、アプリをより適切に容易にするために、このガンマ変換でも輝度を 125 倍にスケーリングするのが最も簡単です。 Windows 10 Version 1809時点 (10.0;ビルド 17763)、色管理効果の動作は、このスケーリングを適用するような動作です。 つまり、開発者は、2 つ目の White レベル調整効果 をパイプラインに適用する必要はありません。
ICC 仕様への準拠
カラー管理効果は、ICC v4.3 仕様に準拠し、次の制限があります。
- 効果は、1、3、および 4 チャネルの色空間をサポートします。
- 効果では、ColorSpace プロファイルまたは名前付き色プロファイルはサポートされていません。
アルファ チャネルの動作
一般に、ソース イメージにアルファ データがない場合はアルファを 1 (不透明) に設定し、ターゲット イメージにスペースがない場合はアルファ データは破棄されます。 次の表では、アルファの動作について説明します。
ソースの色空間、ピクセル形式 | 変換先の色空間、ピクセル形式 | アルファ動作 |
---|---|---|
1 チャネル、R ピクセル形式 |
1 チャネル、R ピクセル形式 | (アルファ データなし) |
1 チャネル、RGBA ピクセル形式 | アルファ データが 1 (不透明) に設定されている | |
3 チャンネル、RGBA ピクセル形式 | アルファ データが 1 (不透明) に設定されている | |
4 チャンネル、RGBA ピクセル形式 | (アルファ データなし) | |
1 チャネル、RGBA ピクセル形式 |
1 チャネル、R ピクセル形式 | アルファ データが破棄される |
1 チャネル、RGBA ピクセル形式 | アルファ データが渡される | |
3 チャンネル、RGBA ピクセル形式 | アルファ データが渡される | |
4 チャンネル、RGBA ピクセル形式 | アルファ データが破棄される | |
3 チャンネル、RGBA ピクセル形式 |
1 チャネル、R ピクセル形式 | アルファ データが破棄される |
1 チャネル、RGBA ピクセル形式 | アルファ データが渡される | |
3 チャンネル、RGBA ピクセル形式 | アルファ データが渡される | |
4 チャンネル、RGBA ピクセル形式 | アルファ データが破棄される | |
4 チャンネル、RGBA ピクセル形式 |
1 チャネル、R ピクセル形式 | (アルファ データなし) |
1 チャネル、RGBA ピクセル形式 | アルファ データが 1 (不透明) に設定されている | |
3 チャンネル、RGBA ピクセル形式 | アルファ データが 1 (不透明) に設定されている | |
4 チャンネル、RGBA ピクセル形式 | (アルファ データなし) |
品質モード
モード | 説明 |
---|---|
D2D1_COLORMANAGEMENT_QUALITY_PROOF | 最低品質モード。 このモードには、機能レベル 9_1 以上が必要です。 |
D2D1_COLORMANAGEMENT_QUALITY_NORMAL | 標準品質モード。 このモードには、機能レベル 9_1 以上が必要です。 |
D2D1_COLORMANAGEMENT_QUALITY_BEST | 最高の品質モード。 このモードには、機能レベル 10_0 以上と浮動小数点精度バッファーが必要です。 このモードでは、ICC v4.3 仕様で定義されている浮動小数点精度と拡張範囲がサポートされます。 |
アプリケーションがハードウェアでサポートされていない品質モードを要求した場合、描画時に色管理効果が失敗します。 D3D11CreateDevice を呼び出すときに、機能レベルを決定できます。 値D2D1_BUFFER_PRECISION_32BPC_FLOATで ID2D1EffectContext::IsBufferPrecisionSupported を呼び出すことで、浮動小数点バッファーのサポートをチェックできます。
サンプル コード
この効果の例については、 Direct2D 効果の写真調整サンプルをダウンロードし、サンプルのレッスン 4 を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ] |
サポートされている最小のサーバー | Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |Windows ストア アプリ] |
ヘッダー | d2d1effects.h |
ライブラリ | d2d1.lib、dxguid.lib |