Попробуйте поиграть с .blendMode (...)
Я не специалист по цветам, поэтому это всего лишь идея ..
struct ContentView: View {
var gradient0: Gradient {
return Gradient(stops: stride(from: 0, to: 1, by: 0.05).map { value in
let color = Color(hue: value, saturation: 1, brightness: 1)
return Gradient.Stop(color: color, location: CGFloat(value))
})
}
var gradient1: Gradient {
return Gradient(stops: stride(from: 0, to: 1, by: 0.05).map { value in
let color = Color(.displayP3, white: value, opacity: 1)
return Gradient.Stop(color: color, location: CGFloat(value))
})
}
var body: some View {
ZStack {
Color.black
ZStack {
Circle().fill(RadialGradient(gradient: gradient1, center: .center, startRadius: 0, endRadius: 200))
Circle().fill(AngularGradient(gradient: gradient0, center: .center))
.blendMode(.multiply)
}
.frame(width: 400, height: 400, alignment: .center)
}
}
}
с результатом