如何在JavaFX中添加两个图像,一个图像在另一个图像之上?

时间:2018-07-27 09:49:01

标签: java javafx

请帮助。

我正在尝试在形状中添加两个图像:

@FXML
private Rectangle rectangle;
Image img1 = new Image("a.png");
Image img2 = new Image("b.png");
rectangle.setFill(new ImagePattern(img1));
rectangle.setFill(new ImagePattern(img2));

图像具有透明背景。两者都应该可见。一个高于另一个。

但是只有一个可见。

如何正确添加图像?

我将感谢您的建议。

更新

应用程序功能:

  1. 生成给定数量的形状
  2. 单击形状(正方形)以打开对话框
  3. 对话框显示图像
  4. 您在对话框中标记了选定的图像
  5. 您将选定的图像添加到形状(正方形)

1 个答案:

答案 0 :(得分:1)

其他人已经说过Shape只能填满一张图片,因此只显示一张图片,您可以做的是使用StackPane,这取决于您要实现的要素您可能根本不需要使用Rectangle

您可以在BlendMode上设置ImageView来改变它们混合的方式。

例如:

    StackPane stackPane = new StackPane();
    Image img1 = new Image("a.png");
    Image img2 = new Image("b.png");
    stackPane.getChildren().addAll(new ImageView(img1), new ImageView(img2));