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

时间:2013-10-11 10:19:09

标签: java animation graphics javafx-2 fxml

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

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

我正在使用FXML来构建GUI。

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

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

试试这个..我希望它有用。

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

答案 1 :(得分:0)

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

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....