我想使用this algorithm將HSB值轉換爲RGB值,但我沒有得到正確的值。我有固定S的29,一個固定的B的100,並且正在生成的H值之間0-360的隨機整數,並將它們饋入該函數以獲取RGB回:目標C中HSB顏色轉換爲RGB
float h = (arc4random() % 360);
float s = 29;
float b = 100;
HSL2RGB(h, s, b, &red, &green, &blue);
NSLog(@"r:%f g:%f b:%f", red, green, blue);
輸出:
r:2971.000000 g:2971.000000 b:2971.000000
我想這太:
float h = (arc4random() % 360)/1000.0;
float s = 0.29;
float b = 1.0;
HSL2RGB(h, s, b, &red, &green, &blue);
NSLog(@"r:%f g:%f b:%f", red, green, blue);
輸出:
r:1.000000 g:1.000000 b:1.000000
我做得不對,或者是這個算法搞砸?
['+ [UIColor colorWithHue:saturation:brightness:alpha:]']有什麼問題嗎?(http://developer.apple.com/library/ios/#documentation/uikit/reference/UIColor_Class/Reference/ #的reference.html // apple_ref/OCC/CLM /的UIColor/colorWithHue:飽和度:亮度:阿爾法:)? – rid 2012-07-28 21:30:20
哇。我一直在尋找一個好算法的小時,並且我一直都在這裏: – Snowman 2012-07-28 21:33:38
雖然我沒有得到他們想要色調是從0 - 1的值,當我以0 - 360的度數獲得時。 – Snowman 2012-07-28 21:36:01