如何使用 JAVA FX 2 在透明图像下绘制



我正在构建一个Java FX 2应用程序,该应用程序必须在透明的png图像下显示动画,方法是将矩形绘制到位于包含图像的图像视图下方的窗格的"图形"上。

经过数小时的搜索,我只找到了创建矩形然后将其添加到场景中一次的示例。但是,我需要循环绘画(每隔几毫秒(,我不知道如何直接在窗格上绘画。

我正在使用FXML来构建GUI。

是否可以像 Swing 一样绘制 Java FX 中任何组件的图形?

提前谢谢。

图像视图具有不透明度属性....它会使图像像透明一样。

试试这个..我希望它能奏效。

Image img = new Image(getClass().getResourceAsStream("example.png"));
ImageView im = new ImageView(img);
im.setOpacity(0.25); /*its similar like transparency */ 

在窗格中,您可以添加画布,然后使用

GraphicsContext gc = canvas.getGraphicsContext2D();

从那里,您可以绘制到图形上下文。

Pane pane = new Pane();
//probably would want StackPane to layer imageview ontop of canvas
//otherwise, do your own translations
Canvas canvas = new Canvas();
ImageView image = ....;
pane.getChildren().addAll(canvas,image);
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.fillRect(2,2,120,120);
//etc....

相关内容

  • 没有找到相关文章

最新更新