[英]CGColor to UIColor conversion
当我初始化 CGColor 并将其转换为 UIColor 时,它不会以与使用相同值初始化的 UIColor 相同的方式呈现。 如何在 CGColor 和 UIColor 之间转换并保持相同的外观?
这段代码产生了两个略有不同的 colors (见截图),尽管我希望 colors 是相同的:
self.view.backgroundColor = UIColor(red: 19/255.0, green: 25/255.0, blue: 28/255.0, alpha: 1.0)
let myCGColor = CGColor(red: 19/255.0, green: 25/255.0, blue: 28/255.0, alpha: 1.0)
self.secondView.backgroundColor = UIColor(cgColor: myCGColor)
那是因为 CGColor 初始化程序使用不同的颜色空间。 UIColor 使用extendedSRGB,而CGColor 使用Generic RGB。
如果要获得相同的颜色,则需要在初始化 CGColor 时指定相同的颜色空间:
let myCGColor = CGColor(colorSpace: .init(name: CGColorSpace.extendedSRGB)!, components: [19.0/255, 25.0/255, 28.0/255, 1.0])!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.