【发布时间】:2012-05-03 08:36:11
【问题描述】:
我尝试做从 UIColor 获取 B(brightness) 的方法。
问题出在方法的第二部分。当我记录结果时 bri 等于 _red。哪里有问题?
-(void)rgbToHSBWithR:(float)_red G:(float)_green B:(float)_blue {
_red = _red / 255.0;
_green = _green / 255.0;
_blue = _blue / 255.0;
UIColor *color = [UIColor colorWithRed:_red green:_green blue:_blue alpha:1];
float hue, sat, bri, alpha;
[color getHue:&hue saturation:&sat brightness:&bri alpha:&alpha];
NSLog(@"R: %f, G: %0.2f, B: %0.2f, V: %f", _red, _green, _blue, bri);
}
【问题讨论】:
-
这可能发生(并且可能是正确的)。您要转换什么颜色?您希望收到什么颜色?
-
在前。我想转换 71、52、58。当我转换它并将亮度乘以 255 时,我得到:亮度:71。在任何情况下,我的亮度都等于红色。
-
当我比较我的亮度图时,等于红色图,所以每个亮度 = 红色。在 Photoshop 或其他应用程序中的亮度和红色绘图不一样。
标签: objective-c rgb uicolor brightness hsb