Da quello che ho capito, HSL and HSB colour spaces sono molto simili, entrambi usano la stessa ruota colori 0-360 per la tonalità e lo stesso valore 0-1 per la saturazione. L'unica differenza tra loro è che nel modello HSB si ha luminosità, dove 0 è nero e 1 è il colore a piena intensità, mentre in HSL si ha luminosità/luminosità, dove 0 è ancora nero ma 1 è bianco.La struttura .Net Color utilizza uno spazio colore HSB o HSL?
NET Color
struct utilizza lo spazio RGB, ma ha GetHue()
, GetSaturation()
e GetBrightness()
funzioni.
La documentazione è confusa. Per GetBrightness()
:
/// <summary>Gets the hue-saturation-brightness (HSB) brightness value for this
/// System.Drawing.Color structure.</summary>
Ok, quindi ha un senso, Net sembra utilizzare HSB ...
/// <returns>The brightness of this System.Drawing.Color. The brightness ranges
/// from 0.0 through 1.0, where 0.0 represents black and 1.0 represents white.
/// </returns>
Er ... in modo che il valore massimo rappresenta bianco, piuttosto che il colore più luminoso. Nonostante il fatto che i loro documenti e denominazione facciano riferimento alla luminosità sono piuttosto sicuro che il valore restituito è in realtà luminosità/luminosità, ovvero .Net utilizza effettivamente il modello HSL e non HSB.
Qualcuno può confermarlo? È un errore nella documentazione, un errore in GetBrightness()
o sto fraintendendo la teoria in qualche modo?