swift 如何从UIColor中读取 RGBA 数据

使用RGBA创建一个 UIColor 很容易:

let color = UIColor(red: 0.5, green: 0.2, blue: 0.8, alpha: 1)

.

但是把UIColor 转换为 RGBA则代码会多一些,使用UIColor中的getRed()方法,该方法是OC时代的产物,还用到一些指针:

var red: CGFloat = 0
var green: CGFloat = 0
var blue: CGFloat = 0
var alpha: CGFloat = 0

color.getRed(&red, green: &green, blue: &blue, alpha: &alpha)

.

可以使用extension扩展包起来,使用起来方便一些:

extension UIColor {
    var rgba: (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) {
        var red: CGFloat = 0
        var green: CGFloat = 0
        var blue: CGFloat = 0
        var alpha: CGFloat = 0
        getRed(&red, green: &green, blue: &blue, alpha: &alpha)
        return (red, green, blue, alpha)
    }
}

你可能感兴趣的:(swift 如何从UIColor中读取 RGBA 数据)