我不明白为什么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”被记录。这是一个错误?我一般阅读了大量有关颜色空间和颜色的文档,但无法找到答案。