CIColor 到 UIColor -> CIColor 没有为 UIColor UIExtendedSRGBColorSpace 定义
CIColor to UIColor -> CIColor not defined for the UIColor UIExtendedSRGBColorSpace
我正在尝试从 rgb-hex 色彩空间实现 CIColor,如下所示:
let bottomColor = UIColor.init(red: 235/255, green: 250/255, blue: 255/255, alpha: 1.0).ciColor
但是,我不断遇到以下错误:
Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '*** -CIColor not defined for
the UIColor UIExtendedSRGBColorSpace 0.921569 0.980392 1 1; need to
first convert colorspace.'
我不确定这是什么意思。如何解决这个问题?
这会起作用:
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
我找到的答案和解释 。
我正在尝试从 rgb-hex 色彩空间实现 CIColor,如下所示:
let bottomColor = UIColor.init(red: 235/255, green: 250/255, blue: 255/255, alpha: 1.0).ciColor
但是,我不断遇到以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -CIColor not defined for the UIColor UIExtendedSRGBColorSpace 0.921569 0.980392 1 1; need to first convert colorspace.'
我不确定这是什么意思。如何解决这个问题?
这会起作用:
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
我找到的答案和解释