共用方式為


色彩管理效果

使用色彩管理效果,將影像從一個 ICC(國際色彩聯盟)色彩配置檔轉換成另一個。 效果會根據 ICC 規格來轉換影像。

這個效果的 CLSID 是CLSID_D2D1ColorManagement。

效果屬性

顯示名稱和索引列舉 描述
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
如何解譯輸入影像中包含的Alpha數據。 類型為 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 效果會調整輸出裝置可以轉譯至最接近可轉譯之色彩的任何色彩。 效果不會變更色域內色彩,並保留白色點。

輸入影像 Alpha 模式

列舉 描述
D2D1_COLORMANAGEMENT_ALPHA_MODE_PREMULTIPLIED 效果假設 Alpha 模式是預乘的。
D2D1_COLORMANAGEMENT_ALPHA_MODE_STRAIGHT 效果假設 Alpha 模式是直線的。

D2D1_GAMMA1_G2084行為變更

如果您的應用程式使用 D2D1_GAMMA1_G2084 空間,或使用 SMPTE ST.2084 (Perceptual Quantizer) 色彩空間的其中一個 DXGI_COLOR_SPACE_TYPE 列舉值,則應用程式會想要使用 HDR 數據。

ID2D1DeviceContext5::CreateColorContextFromSimpleColorProfileID2D1DeviceContext5::CreateColorContextFromDxgiColorSpace API 不考慮;相反地,HDR 內容會調整為符合 G2084 DeGamma 作業期間的 0-1 範圍。

實際上,在此伽瑪空間中編碼的內容會使用 10,000 Nits 的參考 WhiteLevel,通常以 CCCS 表示為 10,000 / 80 = 125.0。 因此,為了更方便您的應用程式,此伽瑪轉換最簡單的方式,也會將亮度調整為 125。 自 Windows 10 版本 1809 起(10.0;組建 17763),色彩管理效果的行為會套用此縮放比例。 這表示您身為開發人員,不需要將第二個 白階調整效果套用至管線

符合 ICC 規格

色彩管理效果符合 ICC v4.3 規格,但有下列限制:

  • 效果支援 1、3 和 4 色板色彩空間。
  • 效果不支援 ColorSpace 或具名色彩配置檔。

Alpha 色板行為

一般而言,如果來源影像中沒有Alpha數據,效果會將Alpha設定為1(不透明),如果目的地影像中沒有空間,則會捨棄Alpha數據。 下表描述 Alpha 行為。

來源色彩空間,圖元格式 目的地色彩空間,像素格式 Alpha 行為
1 個通道,R 像素格式
1 個通道,R 像素格式 (無 Alpha 資料)
1 個通道,RGBA 像素格式 Alpha 資料設定為 1 (不透明)
3 通道,RGBA 像素格式 Alpha 資料設定為 1 (不透明)
4 通道,RGBA 像素格式 (無 Alpha 資料)
1 個通道,RGBA 像素格式
1 個通道,R 像素格式 Alpha 數據已捨棄
1 個通道,RGBA 像素格式 Alpha 數據會通過
3 通道,RGBA 像素格式 Alpha 數據會通過
4 通道,RGBA 像素格式 Alpha 數據已捨棄
3 通道,RGBA 像素格式
1 個通道,R 像素格式 Alpha 數據已捨棄
1 個通道,RGBA 像素格式 Alpha 數據會通過
3 通道,RGBA 像素格式 Alpha 數據會通過
4 通道,RGBA 像素格式 Alpha 數據已捨棄
4 通道,RGBA 像素格式
1 個通道,R 像素格式 (無 Alpha 資料)
1 個通道,RGBA 像素格式 Alpha 資料設定為 1 (不透明)
3 通道,RGBA 像素格式 Alpha 資料設定為 1 (不透明)
4 通道,RGBA 像素格式 (無 Alpha 資料)

品質模式

模式 描述
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