Swift Color mix
up: SwiftUI snippets
func mix(with color: Color, by percentage: Double) -> Color {
let clampedPercentage = min(max(percentage, 0), 1)
let components1 = UIColor(self).cgColor.components!
let components2 = UIColor(color).cgColor.components!
let red = (1.0 - clampedPercentage) * components1[0] + clampedPercentage * components2[0]
let green = (1.0 - clampedPercentage) * components1[1] + clampedPercentage * components2[1]
let blue = (1.0 - clampedPercentage) * components1[2] + clampedPercentage * components2[2]
let alpha = (1.0 - clampedPercentage) * components1[3] + clampedPercentage * components2[3]
return Color(red: red, green: green, blue: blue, opacity: alpha)
}