如何获取UIColor的RGB值?

时间:2016-12-18 04:00:03

标签: swift rgb uicolor rgba cgcolor

我遇到了将UIColors转换为CGColors和CIColors的问题,我无法弄清楚这是一段令人尴尬的时间。这篇文章我在这里回答了我自己的问题。我找到了一些解决方案,但其中一些最终会抛出不必要的异常。

这是我的首选解决方案:

extension UIColor {

func getRed() -> Int {
    return Int(self.cgColor.components![0]*255)
}

func getGreen() -> Int {
    return Int(self.cgColor.components![1]*255)
}

func getBlue() -> Int {
    return Int(self.cgColor.components![2]*255)
}

func getAlpha() -> Int {
    return Int(self.cgColor.components![3]*255)
}

func getRGB() -> [Int] {
    return [Int(self.cgColor.components![0]*255),
            Int(self.cgColor.components![1]*255),
            Int(self.cgColor.components![2]*255),
            Int(self.cgColor.components![3]*255)]
    }
}

用法:

let color = UIColor.white
let r = color.getRed()
let g = color.getGreen()
let b = color.getBlue()
let a = color.getAlpha()
let rgba = color.getRed()

如果您找到更好的解决方案,请添加它。这篇文章只是为了帮助那些很难找到问题解决方案的人。

0 个答案:

没有答案