zt
02/25/2025, 5:06 AMpublic val Color.hue: Float
get() {
val (r, g, b) = this
val max = maxOf(r, g, b)
val min = minOf(r, g, b)
val delta = max - min
return when {
delta == 0f -> 0f
max == r -> ((g - b) / delta % 6 + 6) % 6
max == g -> (b - r) / delta + 2
else -> (r - g) / delta + 4
} * 60
}
And the test I have
@Test
fun testHsvSaturationModification() {
val initialColor = Color.hsv(
hue = 233f,
saturation = 0.5f,
value = 0.8f
)
val modifiedColor = Color.hsv(
hue = initialColor.hue,
saturation = 0.8f, // increased saturation
value = initialColor.hsvValue
)
assertEquals(initialColor.hue, modifiedColor.hue)
}
romainguy
02/25/2025, 6:01 AMromainguy
02/25/2025, 6:05 AMzt
02/25/2025, 6:21 AMromainguy
02/25/2025, 6:44 AMzt
02/28/2025, 7:10 AM