GradientPaintクラスによるグラデーションの指定

広告

主に塗りつぶし用としてグラデーションパターンを指定する方法を確認します。「setPaint」メソッドの引数にGradientPaintクラスのオブジェクトを指定します。

クラス図は次のようになっています。

  • java.lang.Object
  • java.awt.GradientPaint
  • public class GradientPaint extends Object implements Paint

コンストラクタは次の4つが用意されています。

コンストラクタ
GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2)
シンプルな非循環式の GradientPaint オブジェクトを構築します。
GradientPaint(float x1, float y1, Color color1, float x2, float y2, Color color2, boolean cyclic)
boolean パラメータに応じて、循環式または非循環式の GradientPaint オブジェクトを構築します。
GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2)
シンプルな非循環式の GradientPaint オブジェクトを構築します。
GradientPaint(Point2D pt1, Color color1, Point2D pt2, Color color2, boolean cyclic)
boolean パラメータに応じて、循環式または非循環式の GradientPaint オブジェクトを構築します。

GradientPaintクラスでは色が指定された2つの点を使ってグラデーションパターンを設定します。またグラデーションのパターンとして循環式と非循環式を指定することが出来ます。

循環式と非循環式の違い

それではまず循環式と非循環式によるグラデーションパターンの違いを確認してみます。

次のような長方形の領域を塗りつぶす場合を例として考えてみます。

循環式と非循環式

GradientPaintクラスでは2つの点に対してそれぞれ色を指定します。この2点間の間の領域で2つの色を使ったグラデーションが作成されます。

循環式と非循環式

まず非循環式の場合です。非循環式の場合は2点間の間の領域はグラデーションとなりますが、それぞれの点の外側の領域はグラデーションが行われず点に設定された色が適用されます。

循環式と非循環式

次に循環式の場合です。循環式の場合は2点間の間の領域はグラデーションとなる点は同じですがそれぞれの点の外側の領域についても同じようにグラデーションが適用されます。

循環式と非循環式

具体的な使用方法は次のページ以降で確認します。

( Written by Tatsuo Ikura )