import Foundation
struct RGBA {
let r: Int
let g: Int
let b: Int
let a: Int
}
func averageColor(_ c1: RGBA, _ c2: RGBA) -> RGBA {
return RGBA(
r: (c1.r + c2.r) / 2,
g: (c1.g + c2.g) / 2,
b: (c1.b + c2.b) / 2,
a: (c1.a + c2.a) / 2
)
}
func rgbToHex(r: Int, g: Int, b: Int) -> String {
return String(format: "#%02X%02X%02X", r, g, b)
}
let color1 = RGBA(r: 255, g: 100, b: 50, a: 255)
let color2 = RGBA(r: 50, g: 170, b: 200, a: 255)
let average = averageColor(color1, color2)
let hex = rgbToHex(r: average.r, g: average.g, b: average.b)
print("Average Color: R=\(average.r), G=\(average.g), B=\(average.b), A=\(average.a)")
print("Average Color (hex): \(hex)")
/*
run:
Average Color: R=152, G=135, B=125, A=255
Average Color (hex): #98877D
*/