テキストラベルの色を更新することになっている 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] などのように、スペクトルが連続していないことはわかっています。これをどのように実装できますか?
色は、少なくとも 2 次元または 3 次元の選択です。また、スライダーはスカラー出力のみを提供します。スカラー パラメータのみを使用して滑らかに変化する選択が必要な場合は、カラー チャート (またはその関数表現) にパス ラインを描画し、そのパス上のポイントをパラメトリックに選択してみてください。
はい、色は多次元の値ですが、それらの次元をスライスする方法はいくつかあります。RGBではなく、色相、彩度、明るさのコンストラクターを使用すると、必要な効果が正確に得られると思います。たとえば、 でランダムな色を生成することがよくあり[UIColor colorWithHue:<random float in [0,1]> saturation:1.f brightness:1.f alpha:1.f]
ます。
色相を 0 から 1 まで直線的にスライドさせ、彩度と明るさを最も読みやすい (またはその他の) 値に固定します。