我正在使用 UIColour 的内置函数将 RGB 转换为 HSV:- (BOOL)getHue:(CGFloat *)hue saturation:(CGFloat *)saturation brightness:(CGFloat *)brightness alpha:(CGFloat *)alpha
但对于某些 RGB,它没有给出正确的输出。
CGFloat h,s,v,a;
UIColor *tColor=[UIColor colorWithRed:(230.0/255.0) green:(226.0/255.0) blue:(226.0/255.0) alpha:1.0];
BOOL success=[tColor getHue:&h saturation:&s brightness:&v alpha:&a];
NSLog(@"Output-> Success:%d, hue:%f, sat:%f, value:%f, alpha:%f",success,h,s,v,a);
实际输出:
Output-> Success:1, hue:1.000000, sat:0.017391, value:0.901961, alpha:1.000000
预期输出:
hue:0, sat:0.017391, value:0.901961, alpha:1.000000
注意:我从一些在线转换工具中得出了这个预期的输出(例如:http ://www.rapidtables.com/convert/color/rgb-to-hsv.htm )
您可以清楚地看到色调的差异吗?那么,为什么色调会有这样的差异,我怎样才能得到我的预期输出呢?