- java.lang.Object
-
- javafx.scene.paint.Paint
-
- javafx.scene.paint.ImagePattern
-
public final class ImagePattern extends Paint
ImagePattern
クラスは、図形をイメージ・パターンで塗りつぶします。 ユーザーは、アンカー矩形を指定して、図形の左上隅に対して相対的にイメージの位置、幅および高さを定義できます。 図形がアンカー矩形の外側に出る場合、イメージはタイリングされます。proportional
変数をtrue (デフォルト)に設定した場合は、アンカー矩形を単位正方形(0.0->1.0)に対して相対的に指定する必要があり、このアンカー矩形が図形全体に拡大されます。proportional
変数をfalseに設定した場合は、アンカー矩形を図形のローカル座標系に指定する必要があり、イメージがアンカー矩形に合せて拡大されます。 アンカー矩形が図形全体に拡大されることはありません。次の例は、
proportional
変数の使用方法を示しています。 上の行の図形では、プロポーショナル座標(デフォルト)を使用してアンカー矩形を指定しています。 下の行の図形では、絶対座標を使用しています。 花のイメージは三角形全体を埋めるように拡大されるのに対し、ドット・パターンのイメージは円形の中にタイリングされます。import javafx.scene.Scene; import javafx.scene.image.Image; import javafx.scene.paint.ImagePattern; import javafx.scene.shape.Circle; import javafx.scene.shape.Polygon; import javafx.stage.Stage; public class HelloImagePattern extends Application { private static final String flowerURL = "file:flower.png"; private static final String dotsURL = "file:dots.png"; @Override public void start(Stage stage) { stage.setTitle("Image Pattern"); Group root = new Group(); Scene scene = new Scene(root, 600, 450); Image dots = new Image(dotsURL); Image flower = new Image(flowerURL); Polygon p = new Polygon(); p.setLayoutX(10); p.setLayoutY(10); p.getPoints().add(50.0); p.getPoints().add(0.0); p.getPoints().add(100.0); p.getPoints().add(100.0); p.getPoints().add(0.0); p.getPoints().add(100.0); p.setFill(new ImagePattern(flower, 0, 0, 1, 1, true)); root.getChildren().add(p); Polygon p2 = new Polygon(); p2.setLayoutX(10); p2.setLayoutY(120); p2.getPoints().add(50.0); p2.getPoints().add(0.0); p2.getPoints().add(100.0); p2.getPoints().add(100.0); p2.getPoints().add(0.0); p2.getPoints().add(100.0); p2.setFill(new ImagePattern(flower, 0, 0, 100, 100, false)); root.getChildren().add(p2); Circle circ = new Circle(50); circ.setTranslateX(120); circ.setTranslateY(10); circ.setCenterX(50); circ.setCenterY(50); circ.setFill(new ImagePattern(dots, 0.2, 0.2, 0.4, 0.4, true)); root.getChildren().add(circ); Circle circ2 = new Circle(50); circ2.setTranslateX(120); circ2.setTranslateY(10); circ2.setCenterX(50); circ2.setCenterY(50); circ2.setFill(new ImagePattern(dots, 20, 20, 40, 40, false)); root.getChildren().add(circ2); stage.setScene(scene); stage.show(); }
前述のコードにより、次の出力が生成されます。
- 導入されたバージョン:
- JavaFX 2.2
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ImagePattern(Image image)
指定されたイメージからImagePatternの新しいインスタンスを作成します。ImagePattern(Image image, double x, double y, double width, double height, boolean proportional)
ImagePatternの新しいインスタンスを生成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 double
getHeight()
アンカー矩形の高さを取得します。Image
getImage()
ペイントとして使用されるイメージを取得します。double
getWidth()
アンカー矩形の幅を取得します。double
getX()
アンカー矩形のx原点を取得します。double
getY()
アンカー矩形のy原点を取得します。boolean
isOpaque()
この描画が完全に不透明かどうかを取得します。boolean
isProportional()
始点と終点の位置がプロポーショナルか絶対値かを示すbooleanを取得します。
-
-
-
コンストラクタの詳細
-
ImagePattern
public ImagePattern(Image image)
指定されたイメージからImagePatternの新しいインスタンスを作成します。 デフォルト値は、その他すべてのパラメータに対して使用されます。- パラメータ:
image
- 描画として使用するイメージ。- 例外:
NullPointerException
- イメージがnullの場合。IllegalArgumentException
- イメージがロードされていない場合、つまり進捗状況が< 1である場合です。
-
ImagePattern
public ImagePattern(Image image, double x, double y, double width, double height, boolean proportional)
ImagePatternの新しいインスタンスを生成します。- パラメータ:
image
- 描画として使用するイメージ。x
- アンカー矩形のx原点。y
- アンカー矩形のy原点。width
- アンカー矩形の幅。height
- アンカー矩形の高さ。proportional
- 座標が、ImagePatternによって塗りつぶされる図形に対してプロポーショナルかどうか。- 例外:
NullPointerException
- イメージがnullの場合。IllegalArgumentException
- イメージがロードされていない場合、つまり進捗状況が< 1である場合です。
-
-
メソッドの詳細
-
getImage
public final Image getImage()
ペイントとして使用されるイメージを取得します。- 戻り値:
- 描画として使用するイメージ。
-
getX
public final double getX()
アンカー矩形のx原点を取得します。- デフォルト値:
- 0.0
- 戻り値:
- アンカー矩形のx原点。
-
getY
public final double getY()
アンカー矩形のy原点を取得します。- デフォルト値:
- 0.0
- 戻り値:
- アンカー矩形のy原点。
-
getWidth
public final double getWidth()
アンカー矩形の幅を取得します。- デフォルト値:
- 1.0
- 戻り値:
- アンカー矩形の幅。
-
getHeight
public final double getHeight()
アンカー矩形の高さを取得します。- デフォルト値:
- 1.0
- 戻り値:
- アンカー矩形の高さ。
-
isProportional
public final boolean isProportional()
始点と終点の位置がプロポーショナルか絶対値かを示すbooleanを取得します。 このフラグがtrueである場合、座標空間(パターンで塗りつぶす図形の境界上にマップするために、範囲[0..1]
の座標がスケーリングされる)に2つの終点が定義されます。 このフラグがfalseである場合、座標はノードのローカル座標系で指定されます。- デフォルト値:
- true
- 戻り値:
- boolean (この描画がプロポーショナルである場合はtrue)。
-
-