質問

ここで使用できるグレースケールの色に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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top