16

如何从 RGB 值创建 NSColor?

4

4 回答 4

17

根据NSColor文档:

NSColor *myColor = [NSColor colorWithCalibratedRed:redValue green:greenValue blue:blueValue alpha:1.0f];
于 2009-12-21T05:29:51.567 回答
12

也不要忘记从您获得的实际 RGB 值进行以下转换,比如说从 Photoshop...

(226, 226, 226) 的 RGB 可以使用以下值实例化为 NSColor:

Red:   226/255 = 0.886... 
Green: 226/255 = 0.886...
Blue:  226/255 = 0.886... 

[NSColor colorWithDeviceRed:0.886f green:0.886f blue:0.886f alpha:1.0f];

为什么是 255?8 位颜色通道范围从 0 到 255(含)。当归一化时,它被缩放到范围 [0,1](包括)。有关从规范化值到非规范化值的转换,请参阅参考资料,反之亦然。

参考

于 2014-11-05T22:37:38.407 回答
4
float red = 0.5f;
float green = 0.2f;
float blue = 0.4f;
float alpha = 0.8f;

NSColor *rgb = [NSColor colorWithDeviceRed:red green:green blue:blue alpha:alpha];
于 2009-12-21T05:31:45.890 回答
-3

Swift 2 的扩展

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!)
    }
}

然后打电话

RGB(r: 16, g: 105, b: 125)

或者

RGB(r: 16, g: 105, b: 125, alpha: 0.5)
于 2016-08-25T01:53:19.167 回答