从 RGB 值创建 CGColor

Creating CGColor from RGB Value

我用下面的代码设置了一个viewcontroller

的背景
    view.wantsLayer = true
    let myColor = NSColor(calibratedRed: 50, green: 50, blue: 50, alpha: 1.0)
    view.layer?.backgroundColor = myColor.cgColor

但是在调试时 myColor 我得到了以下颜色而不是预期的颜色

颜色分量 (RGBA) 的范围在 [0,1]

之间变化

init(red:green:blue:alpha:)

Creates a color object with the specified red, green, blue, and alpha channel values. This method accepts extended color component values. If the red, green, blue, or alpha values are outside of the 0-1.0 range,

所以你可以得到cgColor

view.layer?.backgroundColor = NSColor(calibratedRed: 50.0/255.0, green: 50.0/255.0, blue: 50.0/255.0, alpha: 1.0).cgColor

这里是documentation。任何大于 1 的都被视为 1。您需要将每个值除以 255。

view.wantsLayer = true
let myColor = NSColor(calibratedRed: 50/255, green: 50/255, blue: 50/255, alpha: 1.0)
view.layer?.backgroundColor = myColor.cgColor

另外,看看这个 -> Link