Condividi tramite


Effetto rgb-to-hue

Converte un'immagine RGB in spazi di colore HSL (Hue, Saturation, Light) o HSV (Hue, Saturation, Value).

HSL e HSV sono due modelli diversi per rappresentare un colore RGB in uno spazio di colore cilindrico. Sono utili perché consentono di ragionare su un colore usando concetti più intuitivi come tonalità e intensità rispetto alla combinazione di valori rosso, verde e blu.

Questo effetto normalizza i dati di output (tonalità, valore di saturazione per HSV o tonalità, saturazione, leggerezza per HSL) nell'intervallo [0, 1].

Il CLSID per questo effetto è CLSID_D2D1RgbToHue.

Per invertire il comportamento di questo effetto, usare l'effetto Hue per RGB.

Codice di esempio

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();

Proprietà dell'effetto

Le proprietà per l'effetto di contrasto sono definite dall'enumerazione D2D1_RGBTOHUE_PROP.

Fabbisogno

Requisito Valore
Client minimo supportato Windows 10 [app desktop | App di Windows Store]
Server minimo supportato Windows 10 [app desktop | App di Windows Store]
Intestazione d2d1effects_2.h
Biblioteca d2d1.lib, dxguid.lib