import Foundation import SwiftUI extension Color { func blend(to other: Color, intensity: CGFloat = 0.5) -> Color { Color(UIColor(self).blend(to: UIColor(other), intensity: intensity)) } } extension UIColor { func blend(to other: UIColor, intensity: CGFloat = 0.5) -> UIColor { let l2 = max(0.0, min(1.0, intensity)) let l1 = 1 - l2 var (r1, g1, b1, a1): (CGFloat, CGFloat, CGFloat, CGFloat) = (0, 0, 0, 0) var (r2, g2, b2, a2): (CGFloat, CGFloat, CGFloat, CGFloat) = (0, 0, 0, 0) getRed(&r1, green: &g1, blue: &b1, alpha: &a1) other.getRed(&r2, green: &g2, blue: &b2, alpha: &a2) return UIColor(red: l1*r1 + l2*r2, green: l1*g1 + l2*g2, blue: l1*b1 + l2*b2, alpha: l1*a1 + l2*a2) } }