6

java.awt.Color提供するデフォルトの色を使用して、より明るい色を作成しようとしていました

しかし、2色を使って描くと同じように見えますか?

Color blue = Color.BLUE;
Color brighterBlue = blue.brighter();

test.setColor(blue);
test.fillCircle(size);

test.setColor(brighterBlue);
test.drawCircle(size);
4

2 に答える 2

6

ドキュメントの引用:

このメソッドは、この Color の 3 つの RGB コンポーネントのそれぞれに任意の倍率を適用して、この Color のより明るいバージョンを作成します。

Color.blueしたがって、それが colorであると仮定するとrgb(0, 0, 255)、より明るいメソッドは次のことを試みます。

  1. 0s にスケール係数を掛けると、再び 0 になります。と
  2. にスケール係数を掛けます。255これは、キャッピングのために255再び発生します。

色相彩度値(「値」は「明るさ」と同じ) の色座標モデルは、色相彩度明度モデルと同じではないことに注意してください。( HSL と HSVに関するウィキペディアを参照してください。) 残念ながら、Java には HSL 計算が組み込まれていませんが、簡単に検索することでそれらを見つけることができるはずです。

于 2013-09-06T00:47:37.953 に答える