我不太明白为什么 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”。这是一个错误吗?我一般阅读了很多关于色彩空间和颜色的文档,但找不到答案。