如何从 RGB 值创建 NSColor?
24560 次
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](包括)。有关从规范化值到非规范化值的转换,请参阅参考资料,反之亦然。
参考
- OpenGL ES 完整规范,请参见第 38 页的表 2.7
- 虚幻引擎颜色转换
于 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 回答