Javaの数字をグレースケールの色に変換します
質問
ここで使用できるグレースケールの色に1〜50の数をどのように変換できるかを理解しようとしています。
g.setColor(MyGreyScaleColour);
1は最も明るい(白)、50は最も暗い(黒)。
例えば
Color intToCol(int colNum)
{
code here
}
助言がありますか?
解決
Javaは、各コンポーネント(赤、緑、青)が0〜255の範囲でRGB色を使用します。すべてのコンポーネントが同じ値を持っている場合、白黒色になります。 255に近い組み合わせはより白く、0に近いものはすべて黒です。以下の関数は、灰色がかった色を返し、入力にそれに応じて白色の量がスケーリングされます。
Color intToCol(int colNum)
{
int rgbNum = 255 - (int) ((colNum/50.0)*255.0);
return new Color (rgbNum,rgbNum,rgbNum);
}
他のヒント
何かのようなもの:
float grey = (50 - colNum) / 49f;
return new Color(grey, grey, grey);
所属していません StackOverflow