-1

色相はUIColor、標準の RGB カラー ホイールと同じではありません。つまり、カラー ホイール上の 2 つの反対の色 (つまり、黄色と紫) は一致しますがUIColor、たとえば、次のように .

色 1: 色相 0.45
色 2: 色相 0.95

それらは一致しません。を通じてスペクトル内の反対の色を見つける方法はありますUIColorか?

4

2 に答える 2

6

通常は「マッチング」とは呼ばれないホイール上で互いに反対側にある色は、「補色」と呼ばれます。たとえば、それらを混ぜ合わせると白 (または、減法混色、つまり顔料を扱っている場合は黒) になります。

RGB は実際にはカラー「ホイール」ではなく、立方体の形状です。ただし、 HSBの色相は、多くの場合、赤が 0°、ターコイズが 180° の 0° から 360° の角度で表されます。開始値から 180 度の値を取ると、補数が得られます: 赤 0 度/ターコイズ 180 度、緑 120 度/紫 300 度など。プログラミングの際、色相の範囲は通常、 0 と 1 を含みます。そのスキームでは、次のことができます

fmod(val - 0.5, 1.0)

補数を取得します。

どのような結果が期待され、どのような結果が得られるかについては言及されていないため、具体的には役に立ちませんが、0.95 と 0.45 は確かに補完的であり、UIColorこれらの値で s を作成すると、期待される赤みがかったターコイズっぽい色合い。

コンピューター画面上の色は、塗料の色とは異なる振る舞いをします。最初のケースでは結果を得るために光の波長を追加し、2 番目のケースでは波長を選択的に吸収しているためです。これがあなたの混乱の原因かもしれません。赤に黄色を加えたものはオレンジに顔料を加えたものに等しいが、赤に緑を加えたものは黄色に光を加えたものに等しい.

于 2011-06-02T01:48:10.567 に答える
1

ずっと前に、このような質問に答えました。その要点は、さまざまな色のモデルがたくさんあるということです。あなたの質問でも、あなたは 2 つの異なるモデルについて考えているようです。黄色と紫は、赤黄青モデルでは補完的かもしれませんが、赤緑青モデルではそうではありません。

于 2011-06-02T01:44:33.963 に答える