ランダムな色の値を受け入れ、最も近い原色を確認するメソッドを作成しようとしています。
その RGB 値を比較し、それらの原色の範囲内のどこにあるかを確認してから、赤、黄、青などに設定する必要があると思います.
これを行う最善の方法は何ですか?ありがとう
編集 この質問は重複としてマークされていますが、上記の重複した質問の他の回答を確認しましたが、求めている回答が得られません。
式を使用して
d = sqrt((r2-r1)^2 + (g2-g1)^2 + (b2-b1)^2)
異なる色に対して同じ値を生成することがあります。たとえば、 の入力色を使用しR170 : G0 : B255
ます。R255 : G255 : B255
白と赤の両方からの距離はR255 : G0 : B0
、式を使用して (int)269 を生成します。では、赤と白、どちらの色に近いでしょうか。リストから黒と白を削除しましたが、他の色でも問題が発生します。
黒、白、赤、ライムなど、いくつかの色と比較しています。青、黄、シアン。こちらの RGB カラー テーブルに記載されているマゼンタとグレー