public final class LinearGradient extends Paint
LinearGradient
クラスは、図形を線形の色グラデーション・パターンで塗りつぶします。ユーザーはグラデーションの色を2色以上指定でき、この場合の描画では、各色の間の補間が行われます。
アプリケーションでは、Stop
の配列を利用して、グラデーションでの色の分布方法を指定します。Stop#offset
変数は、0.0-1.0の範囲内にあって、グラデーションに沿ったキー・フレームのように機能する必要があります。オフセットによって、グラデーションが厳密に特定の色になる位置がマークされます。
proportional変数をtrueに設定した場合は、グラデーションの始点と終点を単位正方形(0.0->1.0)に対して相対的に指定する必要があり、このグラデーションが図形全体に拡大されます。proportional変数をfalseに設定した場合は、始点と終点を図形のローカル座標系に指定する必要があり、グラデーションが拡大されることはありません。
次の例では、塗りつぶされた2つの矩形は同じようにレンダリングされます。左側では、プロポーショナル座標を使用してグラデーションの終点を指定しています。右側では、絶対座標を使用しています。どちらの場合も、水平方向に黒から赤に変化するグラデーションで、指定した矩形を塗りつぶします。
// object bounding box relative (proportional = true) Stop[] stops = new Stop[] { new Stop(0, Color.BLACK), new Stop(1, Color.RED)}; LinearGradient lg1 = new LinearGradient(0, 0, 1, 0, true, CycleMethod.NO_CYCLE, stops); Rectangle r1 = new Rectangle(0, 0, 100, 100); r1.setFill(lg1); // user space relative (proportional: = false) LinearGradient lg2 = new LinearGradient(125, 0, 225, 0, false, CycleMethod.NO_CYCLE, stops); Rectangle r2 = new Rectangle(125, 0, 100, 100); r2.setFill(lg2);
コンストラクタと説明 |
---|
LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
LinearGradientの新しいインスタンスを生成します。
|
LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
LinearGradientの新しいインスタンスを生成します。
|
修飾子と型 | メソッドと説明 |
---|---|
boolean |
equals(Object obj)
このオブジェクトと他のオブジェクトが等しいかどうかを示します。
|
CycleMethod |
getCycleMethod()
LinearGradient に適用するサイクル・メソッド(CycleMethod.NO_CYCLE 、CycleMethod.REFLECT またはCycleMethod.REPEAT )を定義します。 |
double |
getEndX()
グラデーション軸の終点のX座標を定義します。
|
double |
getEndY()
グラデーション軸の終点のY座標を定義します。
|
double |
getStartX()
グラデーション軸の始点のX座標を定義します。
|
double |
getStartY()
グラデーション軸の始点のY座標を定義します。
|
List<Stop> |
getStops()
2つ以上の
Stop 値のシーケンスによって、グラデーションでの色の分布方法を指定します。 |
int |
hashCode()
この
LinearGradient オブジェクトのハッシュ・コードを返します。 |
boolean |
isOpaque()
この描画が完全に不透明かどうかを取得します。
|
boolean |
isProportional()
始点と終点の位置がプロポーショナルか絶対値かを示します。
|
String |
toString()
この
LinearGradient オブジェクトの文字列表現を返します。 |
static LinearGradient |
valueOf(String value)
文字列表現から線形グラデーション値を作成します。
|
public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
startX
- グラデーション軸の始点のX座標startY
- グラデーション軸の始点のY座標endX
- グラデーション軸の終点のX座標endY
- グラデーション軸の終点のY座標proportional
- 座標が、このグラデーションによって塗りつぶされる図形に対してプロポーショナルかどうか。cycleMethod
- グラデーションに適用されるサイクル・メソッドstops
- グラデーションの色指定public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
startX
- グラデーション軸の始点のX座標startY
- グラデーション軸の始点のY座標endX
- グラデーション軸の終点のX座標endY
- グラデーション軸の終点のY座標proportional
- 座標が、このグラデーションによって塗りつぶされる図形に対してプロポーショナルかどうか。cycleMethod
- グラデーションに適用されるサイクル・メソッドstops
- グラデーションの色指定public final double getStartX()
public final double getStartY()
public final double getEndX()
public final double getEndY()
public final boolean isProportional()
[0..1]
の座標がスケーリングされる)に2つの終点が定義されます。このフラグがfalseである場合、座標はノードのローカル座標系で指定されます。public final CycleMethod getCycleMethod()
LinearGradient
に適用するサイクル・メソッド(CycleMethod.NO_CYCLE
、CycleMethod.REFLECT
またはCycleMethod.REPEAT
)を定義します。public final List<Stop> getStops()
Stop
値のシーケンスによって、グラデーションでの色の分布方法を指定します。これらの値は0.0-1.0の範囲内にある必要があります。これらはグラデーションに沿ったキー・フレームのように機能します。これらによって、グラデーションが厳密に特定の色になる位置がマークされます。
シーケンス内の各ストップには、シーケンス内の直前のストップよりも大きいオフセットが設けられている必要があります。
リストは変更不可であるため、変更が試行されるたびにUnsupportedOperationException
がスローされます。
public final boolean isOpaque()
Paint
public boolean equals(Object obj)
public int hashCode()
LinearGradient
オブジェクトのハッシュ・コードを返します。public String toString()
LinearGradient
オブジェクトの文字列表現を返します。public static LinearGradient valueOf(String value)
文字列表現のフォーマットは、次の線形グラデーションのJavaFX CSS仕様に基づきます。
linear-gradient( [ [from <point> to <point>| [ to <side-or-corner>], ]? [ [ repeat | reflect ], ]? <color-stop>[, <color-stop>]+)各項目は次のとおりです。
<side-or-corner> = [left | right] || [top | bottom] <point> = [ [ <length> <length> ] | [ <percentage> | <percentage> ] ] <color-stop> = [ <color> [ <percentage> | <length>]? ]
現在、長さはピクセル単位でのみ指定できます。単位の指定は省略できます。色表現のフォーマットは、Color.web(String color)
で使用されるものです。linear-gradientキーワードは省略できます。文字列表現のフォーマットの詳細は、「CSSリファレンス・ガイド」を参照してください。
LinearGradient g
= LinearGradient.valueOf("linear-gradient(from 0% 0% to 100% 100%, red 0% , blue 30%, black 100%)");
LinearGradient g
= LinearGradient.valueOf("from 0% 0% to 100% 100%, red 0% , blue 30%, black 100%");
LinearGradient g
= LinearGradient.valueOf("linear-gradient(from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%)");
LinearGradient g
= LinearGradient.valueOf("from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%");
value
- 変換対象の文字列LinearGradient
オブジェクト。NullPointerException
- value
がnull
である場合IllegalArgumentException
- value
を解析できない場合Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.