UISlider代表色谱

时间:2010-09-02 20:09:48

标签: iphone objective-c rgb uislider uicolor

我有一个UISlider应该更新textlabel的颜色。现在我希望用户能够在频谱中的所有颜色之间进行选择(无论如何都是这样)。我正在考虑使用这个UISlider来表示颜色,当拖动滑块时,值/颜色会发生变化。

我知道频谱不是顺序的:[0,0,0] ... [255,0,0] ... [255,1,0] ... [255,255,0]等 那么:关于如何实现这个的任何提示?

2 个答案:

答案 0 :(得分:2)

颜色至少是二维或三维选择。并且滑块仅提供标量输出。如果想要仅使用标量参数进行平滑变化的选择,可以尝试在某个颜色图表(或其功能表示)上绘制路径线,并在参数上选择该路径上的点。

答案 1 :(得分:0)

是的,颜色是一个多维值,但有不同的方法可以切割这些尺寸。我认为色调,饱和度,亮度构造函数而不是RGB会为您提供您想要的效果。例如,我经常使用[UIColor colorWithHue:<random float in [0,1]> saturation:1.f brightness:1.f alpha:1.f]生成随机颜色。

将色调从0线性滑动到1,饱和度和亮度固定在最清晰(或其他)的值。