我试图从RGB-十六进制颜色空间实现CIColor,如下所示:
let bottomColor = UIColor.init(red: 235/255, green: 250/255, blue: 255/255, alpha: 1.0).ciColor但是,我仍然碰到以下错误:
由于“NSInvalidArgumentException”异常终止应用程序,原因:“* -CIColor未为UIColor UIExtendedSRGBColorSpace 0.921569 0.980392 1.1定义;需要首先转换颜色空间。”
我不知道这意味着什么。怎么解决这个问题?
发布于 2016-11-26 09:04:27
这将起作用:
let uiColor = UIColor.init(red: 235.0/255.0, green: 250.0/255.0, blue: 255.0/255.0, alpha: 1.0)
let bottomColor = CIColor(color: uiColor)您还可以在UIColor上添加一个扩展:
extension UIColor {
var coreImageColor: CIColor {
return CIColor(color: self)
}
var components: (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) {
let color = coreImageColor
return (color.red, color.green, color.blue, color.alpha)
}
}然后通过:
let bottomColor = UIColor.init(red: 235.0/255.0, green: 250.0/255.0, blue: 255.0/255.0, alpha: 1.0).coreImageColor我找到in this related question的答案和解释。
https://stackoverflow.com/questions/40816422
复制相似问题