- 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
-
-
构造方法摘要
构造方法 Constructor 描述 ImagePattern(Image image)
从指定的图像创建一个新的ImagePattern实例。ImagePattern(Image image, double x, double y, double width, double height, boolean proportional)
创建一个新的ImagePattern实例。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 double
getHeight()
获取锚矩形的高度。Image
getImage()
获取要用作油漆的图像。double
getWidth()
获取锚矩形的宽度。double
getX()
获取锚矩形的x原点。double
getY()
获取锚矩形的y原点。boolean
isOpaque()
获取此Paint是否完全不透明。boolean
isProportional()
获取一个布尔值,指示开始和结束位置是成比例还是绝对。
-
-
-
构造方法详细信息
-
ImagePattern
public ImagePattern(Image image)
从指定的图像创建一个新的ImagePattern实例。 默认值用于所有其他参数。- 参数
-
image
- 用作油漆的图像。 - 异常
-
NullPointerException
- 如果图像为空。 -
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
- 如果图像为空。 -
IllegalArgumentException
- 如果图像未完成加载,即进度是<1。
-
-
方法详细信息
-
getImage
public final Image getImage()
获取要用作油漆的图像。- 结果
- 图像用作油漆。
-
getX
public final double getX()
获取锚矩形的x原点。- Default value:
- 0.0
- 结果
- 锚矩形的x原点。
-
getY
public final double getY()
获取锚矩形的y原点。- Default value:
- 0.0
- 结果
- 锚矩形的y原点。
-
getWidth
public final double getWidth()
获取锚矩形的宽度。- Default value:
- 1.0
- 结果
- 新新新新旗新新新新旗新新旗旗新新新新旗新新旗旗新新旗新新200新新新
-
getHeight
public final double getHeight()
获取锚矩形的高度。- Default value:
- 1.0
- 结果
- 锚矩形的高度。
-
isProportional
public final boolean isProportional()
获取一个布尔值,指示开始和结束位置是成比例还是绝对。 如果该标志为真,则两个端点在坐标空间中定义,其中[0..1]
范围内的[0..1]
被缩放以映射到图案填充的形状的边界上。 如果该标志为假,则在该节点的本地坐标系中指定坐标。- Default value:
- 真正
- 结果
- 布尔值,如果此颜色成比例,则为true。
-
-