Share via


RGB から色相への効果

RGB イメージを HSL (Hue、Saturation、Lightness) または HSV (Hue、Saturation、Value) のいずれかの色空間に変換します。

HSL と HSV は、円筒色空間で RGB 色を表す 2 つの異なるモデルです。 これらは、色合いと強度などのより直感的な概念を使用して色を推論し、赤、緑、青の値を組み合わせることができるため便利です。

この効果により、出力データ (HSV の場合は色相、彩度値、HSL の場合は彩度、明度) は [0, 1] の範囲に正規化されます。

この効果の CLSID はCLSID_D2D1RgbToHue。

この効果の動作を反転するには、Hue to RGB 効果を使用します。

サンプル コード

ComPtr<ID2D1Effect> rgbToHueEffect;
m_d2dContext->CreateEffect(CLSID_D2D1RgbToHue, &rgbToHueEffect);
 
rgbToHueEffect->SetInput(0, bitmap);
rgbToHueEffect->SetValue(D2D1_RGBTOHUE_PROP_OUTPUT_COLOR_SPACE, D2D1_RGBTOHUE_OUTPUT_COLOR_SPACE_HUE_SATURATION_VALUE);
 
m_d2dContext->BeginDraw();
m_d2dContext->DrawImage(rgbToHueEffect.Get());
m_d2dContext->EndDraw();

Effect プロパティ

コントラスト効果のプロパティは、 D2D1_RGBTOHUE_PROP 列挙体によって定義されます。

要件

要件
サポートされている最小のクライアント Windows 10 [デスクトップ アプリ |Windows ストア アプリ]
サポートされている最小のサーバー Windows 10 [デスクトップ アプリ |Windows ストア アプリ]
Header d2d1effects_2.h
ライブラリ d2d1.lib、dxguid.lib