object AverageColorHex {
case class RGBA(r: Int, g: Int, b: Int, a: Int)
def averageRGB(c1: RGBA, c2: RGBA): RGBA = {
RGBA(
(c1.r + c2.r) / 2,
(c1.g + c2.g) / 2,
(c1.b + c2.b) / 2,
(c1.a + c2.a) / 2
)
}
def rgbToHex(r: Int, g: Int, b: Int): String =
f"#$r%02X$g%02X$b%02X"
def main(args: Array[String]): Unit = {
val color1 = RGBA(255, 100, 50, 255)
val color2 = RGBA(50, 170, 200, 255)
val average = averageRGB(color1, color2)
val hex = rgbToHex(average.r, average.g, average.b)
println(s"Average Color: R=${average.r}, G=${average.g}, B=${average.b}, A=${average.a}")
println(s"Average Color (hex): $hex")
}
}
/*
run:
Average Color: R=152, G=135, B=125, A=255
Average Color (hex): #98877D
*/