【发布时间】:2021-10-11 05:37:44
【问题描述】:
我正在为 macOS 开发一个程序。
我需要将十六进制颜色转换为 NSColor。
我在这里查看了建议的解决方案:
Convert Hex Color Code to NSColor
How to convert hex to NSColor?
但这些都不能在 Xcode 12.5.1 上正常工作。
在我这样做的那一刻,它工作正常:
extension NSObject {
func RGB(r:CGFloat, g:CGFloat, b:CGFloat, alpha:CGFloat? = 1) -> NSColor {
return NSColor(red: r/255, green: g/255, blue: b/255, alpha: alpha!)
}
}
let fillColor = RGB(r: 33, g: 150, b: 243)
可能不必使用 Cocoa。
我想要这样的函数:hexToNSColor("#2196f3")
你能帮帮我吗?
【问题讨论】:
-
永远不要忘记先转换为 RGB 颜色空间(链接中的代码不会这样做)
-
问题是十六进制到 NSColor 不是从 NSColor 获取十六进制作为引用的答案。
-
@Paul,我有一个可能的答案,但不能在这里发布,因为“他们”关闭了它。问另一个问题,例如:“Swift 5.4 hex to NSColor NOT hex value from NSColor in cocoa”
-
嘿,看来我可以重新打开问题,然后发布我的答案。希望它在这一切之后有所帮助。
-
@workingdog 我错过了。你有我的回答。但这是一个常见的问题,不应该重新打开。应该用正确的链接评论为重复。除了它的 UIColor 与 NSColor。甚至 XCode 现在也可以建议解决这个问题。