2

UIColorからB(明るさ)を取るメソッドをやってみます。

問題はメソッドの2番目の部分にあります。結果をログに記録すると、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);

}

4

1 に答える 1

4

答えは:

    b = (red / 255.0) * 0.3 + (green / 255.0) * 0.59 + (blue / 255.0) * 0.11;

正常に動作しています。

于 2012-05-03T18:48:40.120 に答える