在Apple开发者文档中,我在UIColor中发现了一些新东西。
如果你的应用是在iOS 10上或之后链接的,并且在iOS 10或更高版本上运行时,会在扩展色彩空间中创建颜色:
kCGColorSpaceExtendedGray
kCGColorSpaceExtendedSRGB
在扩展颜色空间中工作时,颜色值不会被限制以适应色域内,这意味着组件值可能小于0.0或大于1.0。当显示在sRGB显示屏上时,此类颜色位于色域之外,无法准确呈现。但是,当您需要像素格式和表示可以轻松转换其他颜色空间时,扩展颜色空间是有用的工作颜色空间。例如,显示器P3颜色空间中不在sRGB色域内的颜色仍然可以转换为扩展的sRGB格式。它的一些值将超出0.0到1.0的范围。但是,当在具有P3显示色域的设备上显示时,它仍然可以正确呈现。
总而言之,当您需要担心色彩空间时,请使用这些扩展色彩空间作为工作色彩空间。当您需要担心在特定颜色空间中尽可能接近地表示颜色时,请将颜色从扩展颜色空间转换为目标颜色空间。
我只是无法理解,当我想在Xcode8中调试一些视图的背景时,调试区域显示UIExtendedGrayColorSpace 0 0。那是什么颜色?
答案 0 :(得分:5)
我不是100%肯定,而是从我所看到的......
UIExtendedGrayColorSpace 0 0
是"清除"
和
UIExtendedGrayColorSpace 1 1
是白色的。