我正在尝试创建一个从绿色到红色的自定义 UIColor 取决于百分比值,但我不知道我该怎么做?

有任何想法吗?

最佳答案

如果你只是想要一个线性组合,那么沿着这些方向应该可以工作:

func mixGreenAndRed(greenAmount: Float) -> UIColor {
    return UIColor(red: (1.0 - greenAmount), green: greenAmount, blue: 0.0, alpha: 1.0)
}

那个会混合 RGB (0.5, 0.5, 0),虽然——一种丑陋的橙色——所以你可能想要这样做,它只会调整红色和绿色之间的色调,穿过黄色,让你改变饱和度/亮度适合您的口味:
func mixGreenAndRed(greenAmount: Float) -> UIColor {
    // the hues between red and green go from 0…1/3, so we can just divide percentageGreen by 3 to mix between them
    return UIColor(hue: greenAmount / 3, saturation: 1.0, brightness: 1.0, alpha: 1.0)
}

在这两种情况下,greenAmount 都应该是 0.0-1.0 之间的值,而不是 0-100。

关于ios - 颜色从绿色到红色的百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25943241/

10-11 08:10