我有一个 UISlider 应该更新文本标签的颜色。现在我希望用户能够在光谱中的所有颜色之间进行选择(无论如何)。我正在考虑使用这个 UISlider 来表示颜色,并且在拖动滑块时值/颜色会发生变化。
我知道频谱不是连续的,例如:[0,0,0]...[255,0,0]...[255,1,0]...[255,255,0] 等。所以:任何提示关于我如何实现这一点?
我有一个 UISlider 应该更新文本标签的颜色。现在我希望用户能够在光谱中的所有颜色之间进行选择(无论如何)。我正在考虑使用这个 UISlider 来表示颜色,并且在拖动滑块时值/颜色会发生变化。
我知道频谱不是连续的,例如:[0,0,0]...[255,0,0]...[255,1,0]...[255,255,0] 等。所以:任何提示关于我如何实现这一点?
颜色至少是两个或三个维度的选择。滑块仅提供标量输出。如果您想要仅使用标量参数进行平滑更改的选择,您可以尝试在某个颜色图表(或其功能表示)上绘制一条路径线,并以参数方式选择该路径上的一个点。
是的,颜色是一个多维值,但是有不同的方法来分割这些维度。我认为色调、饱和度、亮度构造函数,而不是 RGB,会给你完全想要的效果。例如,我经常会生成一个随机颜色[UIColor colorWithHue:<random float in [0,1]> saturation:1.f brightness:1.f alpha:1.f]
。
从 0 到 1 线性滑动色调,饱和度和亮度固定在最清晰(或其他)值。