NSColor 及其色调组件

Posted

技术标签:

【中文标题】NSColor 及其色调组件【英文标题】:NSColor and its hue component 【发布时间】:2011-07-31 08:28:41 【问题描述】:

我不太明白为什么 NSColor 的色调组件的行为与它的行为一样。有点奇怪:

NSColor *c = [NSColor colorWithCalibratedHue:0.1 
                                  saturation:1.0 
                                  brightness:1.0 
                                       alpha:1.0]; 
CGFloat hue = 0.0; 
[c getHue:&hue saturation:NULL brightness:NULL alpha:NULL]; 
NSLog(@"hue = %f", hue); 

如果您运行此代码,您会看到正在记录“hue = 0.1”。但是如果你运行下面的代码:

NSColor *c = [NSColor colorWithCalibratedHue:0.0 
                                  saturation:1.0 
                                  brightness:1.0 
                                       alpha:1.0]; 
CGFloat hue = 0.0; 
[c getHue:&hue saturation:NULL brightness:NULL alpha:NULL]; 
NSLog(@"hue = %f", hue); 

您会看到正在记录“hue = 1.0”。这是一个错误吗?我阅读了很多关于色彩空间和一般颜色的文档,但找不到答案。

【问题讨论】:

【参考方案1】:

在色彩理论中,hue 是一个angular unit,通常用degrees modulo 360 表示(360° 相同)。

NSColor 映射到浮点值 0.0360°1.0。因此,getHue 返回 1.0 而不是 0.0 是完全有效的,因为这两个值代表相同的色调。

【讨论】:

我知道色调是一个角度单位 - 但我没有想到 360° 与 0° 相同,尽管它应该很明显。谢谢你指出来。 :)

以上是关于NSColor 及其色调组件的主要内容,如果未能解决你的问题,请参考以下文章

hadoop及其组件安装

微信小程序 之 常用组件 及其属性

react创建组件的几种方式及其区别

React函数类组件及其Hooks学习

unity button组件

是否可以在没有点击事件及其方法的情况下使用服务将数据从一个组件传递到另一个组件?