Поделиться через


Эффект RGB-to-hue

Преобразует изображение RGB в цветовые пространства HSL (Hue, Saturation, Lightness) или HSV (Hue, Saturation, Value).

HSL и HSV — это две разные модели для представления цвета RGB в цилиндрическом цветовом пространстве. Они полезны, потому что они позволяют понять цвет, используя более интуитивно понятные понятия, такие как оттенки и интенсивность, а также объединение красных, зеленых и синих значений.

Этот эффект нормализует выходные данные (оттенок, значение насыщенности для HSV или hue, насыщенность, светность для HSL) до диапазона [0, 1].

CLSID для этого эффекта CLSID_D2D1RgbToHue.

Чтобы изменить поведение этого эффекта, используйте Hue для эффекта 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();

Свойства эффекта

Свойства эффекта контрастности определяются перечислением D2D1_RGBTOHUE_PROP.

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 10 [классические приложения | Приложения Магазина Windows]
Минимальный поддерживаемый сервер Windows 10 [классические приложения | Приложения Магазина Windows]
Заголовок d2d1effects_2.h
Библиотека d2d1.lib, dxguid.lib