如何将 UIExtendedSRGBColorSpace 与我的颜色值匹配
How to match UIExtendedSRGBColorSpace to my color values
我使用 XCode 可视化编辑器设置了 UIButton
的颜色。我使用 RGB 滑块设置它。
然后我设置变量green
:
let green = UIColor(red: 0, green: 210/255, blue: 0, alpha: 1)
当我打印出 green
值和 UIButton.backgroundColor
时,我相应地得到了下一个值:
UIExtendedSRGBColorSpace -0.146119 0.836984 -0.0130851 1
UIExtendedSRGBColorSpace 0 0.823529 0 1
所以,正如我猜测的那样,颜色空间是相等的,但值不是。为什么会这样?苹果的 UIButton() 做了一些隐藏的转换?什么目的?此按钮 属性 和 green
属性.
是否可以具有相同的值
在 "RGB Sliders" 弹出菜单旁边有一个按钮
允许您选择颜色 space:
在您的情况下,它设置为 "Display P3",一种颜色 space,即
"larger" 比 sRGB 颜色 space 允许显示更多
带有 P3 显示屏的较新设备上的颜色。这种颜色代表
在组件不存在的 "extended sRGB colorspace" 中
限制在 0.0 到 1.0 的范围内(参见 UIColor 中的 "Color and Color Spaces"
想要查询更多的信息)。你的情况
UIExtendedSRGBColorSpace -0.416964 0.838774 -0.249501 1
红蓝负分量,即色域外的颜色
sRGB。
如果您将颜色选择器中的颜色space设置为"sRGB",那么0/210/0的结果将为
UIExtendedSRGBColorSpace 0 0.823529 0 1
与
相同
let green = UIColor(red: 0, green: 210/255, blue: 0, alpha: 1)
或者,以编程方式使用显示 P3 颜色 space
还创建了颜色:
print(label.backgroundColor!)
// UIExtendedSRGBColorSpace -0.416964 0.838774 -0.249501 1
let green = UIColor(displayP3Red: 0, green: 210/255, blue: 0, alpha: 1)
print(green)
// UIDisplayP3ColorSpace 0 0.823529 0 1
print(UIColor(cgColor: green.cgColor))
// UIExtendedSRGBColorSpace -0.416964 0.838774 -0.249501 1
print(label.backgroundColor! == green)
// true
我使用 XCode 可视化编辑器设置了 UIButton
的颜色。我使用 RGB 滑块设置它。
然后我设置变量green
:
let green = UIColor(red: 0, green: 210/255, blue: 0, alpha: 1)
当我打印出 green
值和 UIButton.backgroundColor
时,我相应地得到了下一个值:
UIExtendedSRGBColorSpace -0.146119 0.836984 -0.0130851 1
UIExtendedSRGBColorSpace 0 0.823529 0 1
所以,正如我猜测的那样,颜色空间是相等的,但值不是。为什么会这样?苹果的 UIButton() 做了一些隐藏的转换?什么目的?此按钮 属性 和 green
属性.
在 "RGB Sliders" 弹出菜单旁边有一个按钮 允许您选择颜色 space:
在您的情况下,它设置为 "Display P3",一种颜色 space,即 "larger" 比 sRGB 颜色 space 允许显示更多 带有 P3 显示屏的较新设备上的颜色。这种颜色代表 在组件不存在的 "extended sRGB colorspace" 中 限制在 0.0 到 1.0 的范围内(参见 UIColor 中的 "Color and Color Spaces" 想要查询更多的信息)。你的情况
UIExtendedSRGBColorSpace -0.416964 0.838774 -0.249501 1
红蓝负分量,即色域外的颜色 sRGB。
如果您将颜色选择器中的颜色space设置为"sRGB",那么0/210/0的结果将为
UIExtendedSRGBColorSpace 0 0.823529 0 1
与
相同let green = UIColor(red: 0, green: 210/255, blue: 0, alpha: 1)
或者,以编程方式使用显示 P3 颜色 space 还创建了颜色:
print(label.backgroundColor!)
// UIExtendedSRGBColorSpace -0.416964 0.838774 -0.249501 1
let green = UIColor(displayP3Red: 0, green: 210/255, blue: 0, alpha: 1)
print(green)
// UIDisplayP3ColorSpace 0 0.823529 0 1
print(UIColor(cgColor: green.cgColor))
// UIExtendedSRGBColorSpace -0.416964 0.838774 -0.249501 1
print(label.backgroundColor! == green)
// true