RGBが3つの数字を必要とする理由はすべて、本質的に3D空間であるからです。あなたは3つの連続した数字の行を1つに絞ろうとしています!あなたが好きを通じてカラーブレンド...(コードVBAで記述されたが、簡単にポータブル)
For i = 1 To 255
' Scale with no red, increase and decrease blue and green respectively
Range("a" & i).Interior.Color = RGB(0, i, 255 - i)
' Use a MOD function to keep the values between 0 and 255
' note this can cause some abrupt changes in your scale
Range("b" & i).Interior.Color = RGB(128 + i Mod 255, i, 255 - i)
' You can increase and decrease different RGB values for desired result
Range("c" & i).Interior.Color = RGB((255 - i) Mod 255, (0 + i) Mod 255, i)
Next i
出力(よりよいのための行に作られた列を表示するには、以下のようなプレーを周りに持って、スケールを選択する必要があると思います)の観察:
だから、あなたは自分の単一の変数としてi
を持つことになり、上記したような1Dスケール()にRGBから行くために、あなたが望んでいた場合は、ルックアップを保存するか、どの機能を作成することができます上記の各行が行うように、i
の単一の値から色を作成します。
この1Dスケールから3Dスケールに戻るのは技術的に不可能です。必要な追加情報が失われました。しかし、スケールを作成するためのマッピング関数を知っていれば、RGB値をそれぞれの入力で簡単に取得できます。
これが役に立ちます。
ありがとうございます、あなたはまったく正しいです。可能なすべての色に1つの_i_を反復するのは難しいです。私がPhotoshopを見てみると、「サークル」内のすべての可能な色を(色を含まずに)繰り返すカラーマネージャが見つかりました:[リンク](https://picload.org/image/rlgwlcci/screenshot2017-02-2116.15 .26.png)それは赤(0,0,256)で始まり、同じ赤の値で終わり、6ターンで_i_を増減します。そのため、3DのRGB空間に6行を作成し、最も重要な色。私はこれから伝達関数を構築しようとします。 – Rainflow
Photoshopの調査と私の答えの間には、動作するシステムがあるかもしれません。ソリューションに手伝ってくれたら、私の答えを受け入れてくれてありがとう – Wolfie