2012-05-03 3 views
1

나는 UIColor에서 B (밝기)를 취하는 방법을 시도합니다.UIColor에서 밝기를 올바르게 얻는 방법은 무엇입니까?

문제는 방법의 두 번째 부분에 있습니다. 내가 결과를 기록 할 때 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); 

}

+0

이 오류가 발생할 수 있습니다 (그리고 옳을 수도 있음). 어떤 색을 변환하려고하며 무엇을 기대합니까? – kuba

+0

in ex. 저는 71, 52, 58로 변환하고 싶습니다. 변환하고 255로 밝게 곱하면 : 밝기 : 71. 모든 경우에서 밝기는 빨간색과 같습니다. –

+0

내가 밝기의 플롯을 비교할 때, 빨간색 플롯과 동일하므로 모든 밝기 = 빨강입니다. Photoshop 또는 기타에서 앱의 밝기와 빨간색 플롯은 동일하지 않습니다. –

답변

3

대답은 : 그것은 잘 작동하고

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

.