Anladığım kadarıyla, HSL and HSB colour spaces çok benzer, her ikisi de aynı 0-360 renk tekerleğini renk tonu ve doygunluk için aynı 0-1 değerini kullanır. Aralarındaki tek fark, HSB modelinde, 0'ın siyah ve 1'inin tam yoğunlukta renk olduğu parlaklık derecesine sahip olmanızdır. HSL'de ise, 0'ın hala siyah fakat 1'inin beyaz olduğu hafiflik/parlaklık vardır..Net Color yapısında bir HSB veya HSL renk alanı kullanılıyor mu?
.net Color
yapı RGB alanını kullanır ama GetHue()
, GetSaturation()
ve GetBrightness()
işleve sahiptir.
Buradaki belgeler kafa karıştırıcıdır. GetBrightness()
için:
/// <summary>Gets the hue-saturation-brightness (HSB) brightness value for this
/// System.Drawing.Color structure.</summary>
Ok, bu nedenle mantıklı, .Net ziyade parlak renginden daha,
/// <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 ... yani maksimum değer beyaz temsil ... HSB kullandığı görülüyor. Belgelerinin ve adlarının sürekli olarak parlaklık anlamına gelmesine rağmen, döndürülen değerin aslında hafiflik/parlaklık olduğundan emin olabilirsiniz, örn. Net aslında HSL modelini değil HSB modelini kullanır.
Bunu doğrulayan var mı? Belgelerdeki bir hata mı, GetBrightness()
numaralı hata mı, yoksa bir şekilde teori yanlış mı anladım?