2

色だけを黒から白に変更する方法がわかりません。グレースケール。

私の例。0 から 100 までの値があります。

それらの表現は次のようになります。

0 - 黒

100 - 白

私は JComponent をペイントしていますが、色を変更する必要があるときはいつでも呼び出す必要があります

g.setColor(Color);

しかし、私の番号に応じて、黒から白にのみ色を変更するように指示するにはどうすればよいですか (番号が大きいほど、色は白くなります)。RGBで操作するには?

4

3 に答える 3

4

Color API には、使いやすい HSB 値があります。

HSL カラーも使用できます。黒または白の色から始める場合は、「輝度」タブを確認してください。

于 2010-11-08T18:55:35.563 に答える
3

もちろん、グレーの色合いが徐々に明るくなる以外は、黒から白への色の変化自体はありません。

したがって、0 ~ 100 を 255 のパーセンテージとして扱い、RGB の等しい値を使用してください。

たとえば、50% は 128,128,128 の RGB です (ただし、丸めによっては 127,127,127 になる場合があります)。

パーセンテージ値から 0 ~ 255 になる式は次のとおりです。

rgb=(pct*255)/100;
于 2010-11-08T18:50:32.670 に答える
-2

値が RGB で等しい限り、灰色になります。

それで

g.setColor(new Color(0, 0, 0);

は白です。

g.setColor(new Color(255,255,255);

黒です

g.setColor(new Color(128,128,128);

白と黒の均等なブレンドです。

于 2010-11-08T19:00:04.903 に答える