[解決済み] RGB値からカラーホイール座標への変換
2022-03-06 11:27:44
質問
Googleからカラーホイールの画像を入手して、カラーホイール内の任意のrgb色のxおよびy座標を計算する方法を見つけたいのですが。
もしこれが少しわかりにくかったら、もう少しうまく説明するつもりです。
カラーホイールの絵があります。paint.netで色を選択するときに使うようなものです。また、rgb値という形で色も持っています。今、私はちょうどその色を持つ画像のXとY座標を取得したい。
しかし、どのようにしてそれを行うことができるのか見当もつきません。私はこれをMIT App Inventor 2で作成したアプリで使おうとしていますが、私の能力は少し制限されます。ですから、一番良いのは数学的な解決策だけでしょう。
この件で誰かが私を助けてくれることを願っています。
編集部:では、私が使っている画像はこちらです。本当はずっとこれを入れておきたかったのですが、忘れてしまいました...。
解決方法は?
iOSアプリにカラーピッカーを実装しようと実験していたところ CIFilterを使用した で、同じ問題を解決する必要がありました。
ある色のHSV値が、そのカラーホイールにきれいにマッピングされることを発見しました。
-
hue
は車輪の周りの角度です。0または1は0または2πラジアン、0.75はπ/2、0.5はπ、などです。基本的には右端から時計回りに円を一周して1から0になります。 -
saturation
は、円の中心から端までの距離を、半径に対するパーセンテージで表したものです。真ん中が0、端が1です。 -
value
は色の濃さ (inputValue
をご覧ください)。
ということで、与えられた
hue
と
saturation
を指定した場合、このpsuedocodeを参照してください。
float pickerWidth = myPickerImage.size.width;
float radius = pickerWidth / 2;
float colorRadius = saturation * radius;
float angle = (1 - hue) * (2 * pi);
float midX = myPicker.size.width / 2; //midpoint of the circle
float midY = myPicker.size.height / 2;
float xOffset = cos(angle) * colorRadius; //offset from the midpoint of the circle
float yOffset = sin(angle) * colorRadius;
Point colorPoint = new Point(midX + xOffset, midY + yOffset);
は
value
パラメータは、暗転スライダーを実装するために使用されます。
RGBをHSVに変換する必要があります -。
UIColor
が自動的にやってくれますが、きっとAndroidでもできる方法があるはずです。
関連
-
[解決済み】onCreateOptionsMenu(Menu メニュー)とは何ですか?)
-
[解決済み] [Solved] java.lang.RuntimeException: アクティビティーのインスタンス化ができません ComponentInfo
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] NaN値をチェックするにはどうすればよいですか?
-
[解決済み] 簡単な面接問題が難しくなった:1~100の数字が与えられたとき、ちょうどk個の数字が欠けていることを見つけなさい。
-
[解決済み] node.jsのコンソールのフォントカラーを変更する方法は?
-
[解決済み] RGBから16進数、16進数からRGB
-
[解決済み] プログラムによって、16進数の色を明るくしたり暗くしたりする(または、rgb、およびブレンドカラー)。
-
[解決済み] RGBカラーの知覚的な明るさを決定する公式
-
[解決済み】カラーリソースからcolor-intを取得する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】react-native: コマンドが見つかりません。
-
[解決済み】シンボル 'AppCompatActivity' を解決できない。
-
[解決済み] カスタムアダプタからnotifyDataSetChangeが機能しない
-
[解決済み】Dalvikとdalvik-cacheとは何ですか?
-
[解決済み】Android Studioの初回起動。Android SDKアドオンリストにアクセスできない
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み] Android Studioで「URIが登録されていません」と報告されるのはなぜですか?[クローズド]
-
[解決済み] sendUserActionEvent() は null です。
-
[解決済み] Xlint:deprecationを使用して再コンパイルする方法
-
[解決済み] ADBエラー:デーモンに接続できない