从HSB频谱中的受限范围获取UIColor

时间:2015-08-23 06:57:45

标签: ios uicolor

我只想使用一部分色调光谱(仅从黄绿色到红色)来指示由计算的浮点值指定的状态变化。

我发现使用整个光谱很容易:

float hue;
hue = (1.0 * [c floatValue]);

float saturation;
saturation = 1.0;

float alpha;
alpha =  1.0;

UIColor *color = [UIColor colorWithHue:hue
                            saturation:saturation
                            brightness:1.0
                                 alpha:alpha];

NSLog(@"color %@",color);


self.backgroundBar.backgroundColor = color;

但我不想要所有其他颜色。

c是介于0.00和1.0之间的浮点值

如何将扫描范围限制在黄绿色(色调= 75/255)和红色(色调= 15/255)之间?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果你希望范围在15/255到75/255之间,那意味着如果c的值为0,则色调将为15/255,如果c为1则为色调255分之75。

让,

low = 15.f/255.f;
high = 75.f/255.f;

所以,

色调应该是,

hue = c* (high - low) + low;

希望这有助于......:)