RGB最大値基準

Webデザイン

カテゴリー: 色変換  閲覧数:512 配信日:2016-06-19 09:15


色相H範囲 / 0°~360°


Rが最大値の場合
・色相 H = 60 × ((G - B) ÷ (MAX - MIN))

Gが最大値の場合
・色相 H = 60 × ((B - R) ÷ (MAX - MIN)) +120

Bが最大値の場合
・色相 H = 60 × ((R - G) ÷ (MAX - MIN)) +240


色相H範囲 / 0~1


上記を360°で割る

Rが最大値の場合
・H = ((G - B) / (MAX - MIN)) / 6;

Gが最大値の場合
・H = ((B - G) / (MAX - MIN)) / 6 + 1 / 3;

Bが最大値の場合
・H = ((R - G) / (MAX - MIN)) / 6 + 2 / 3;


function _calcHueNorm(r, g, b) {
 var color_arr = [r, g, b];
 var H = 0.0;

 // 等しいとき
 if ((R == G) && (G == B)) {
   H = 0.0;
 } else if ((R >= G) && (R >= B)) {
   // R最大の場合
   H = ((G - B) / (MAX - MIN)) / 6;
 } else if ((G >= R) && (G >= B)) {
   // G最大の場合
   H = ((B - G) / (MAX - MIN)) / 6 + 1 / 3;
 } else if ((B >= R) && (B >= G)) {
   // B最大の場合
   H = ((R - G) / (MAX - MIN)) / 6 + 2 / 3;
 }

 // 求めたhueが 0以下なら1足す
 if (H < 0) {
   H += 1;
 }
 return H;
}

function _calcHue(r, g, b) {
 return Math.round(this._calcHueNorm(r, g, b) * 360);
}



Gが最大値の場合


B-G or B-R
・B-GをB-Rへ変更しても結果は同じ
・理由不明

B-GとB-Rの違いは、どこを基準とした長さの比率を求めるか
・それぞれ結果は異なると思うが、そうではない?

考え方A.長さの比率で角度60°を分割 / R≧B≧G


今後の方針


これ以上は理解できそうにないので、コードを正として場合分けしていく
RGB → 色相H 計算方式の違い

週間人気ページランキング / 4-11 → 4-17
順位 ページタイトル抜粋 アクセス数
1 「bgcolor」「background-color」「background」の違い | CSS 6
1 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 6
1 16進数カラーコード / 2進数 6
2 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 5
2 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 5
3 鉄道会社毎のカラーコード | カラーコード(色) 4
3 Design 0 4
4 「Google Chrome」の文字が突然ギザギザで表示されるようになったら、「chrome://flags/#top-chrome-md」へアクセス後、右上の「Reset all」ボタンをクリックします。 | Google Chrome(ブラウザ) 3
4 フォーム(CSS) カテゴリー 3
5 「Fireworks」後継として「Gravit Designer」を使用していくことを一度は決定したが、2022 年時点で入手可能なソフトウェアは日本語入力未対応  | Gravit Designer(ソフトウェア) 2
5 G'MIC | GIMP 系(ソフトウェア) 2
5 色モデルイメージ図 | 色変換(色) 2
5 「コズミックブルー」は、くすんだ青系全般の色を指す用語だと思います。 | カラーコード(色) 2
5 「東京都」のカラーコード取得は難しい | カラーコード(色) 2
5 RGB ⇔ XYZ / CIE RGB / sRGB(D65) / sRGB(C) / Adobe RGB / NTSC RGB 2
5 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 2
5 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 2
5 RGB ⇔ Lab | 色変換(色) 2
6 既存サービスのCSSがどうしても効かない → 正常動作する最小構成の単体デモを作成し、移し替える | CSSトラブル対応(CSS) 1
6 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 1
2025/4/18 1:01 更新
指定期間人気ページランキング / 2020-5-30 → 2025-4-17
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 8572
2 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 4539
3 血の色 / #b30000 / #360800 / #ff0000 | 色 3695
4 Design 0 3664
5 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 2674
6 RGBの種類 / ビットカラー | RGB(色) 2614
7 「bgcolor」「background-color」「background」の違い | CSS 1951
8 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 1836
9 16進数カラーコード / 2進数 1803
10 コズミックブルーが何色か分からない | 色 1785
11 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 1651
12 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 1634
13 「属性」「プロパティ」「アトリビュート」の違い | CSS 1585
14 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 1501
15 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 1349
16 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Google Chrome(ブラウザ) 1336
17 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 1210
18 HSLとHSVの違い | 色変換(色) 1146
19 「東京都」のカラーコード取得は難しい | 色 1086
20 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 1048
2025/4/18 1:01 更新