0

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

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

我正在使用 FXML 来构建 GUI。

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

提前致谢。

4

2 回答 2

0

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

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

Image img = new Image(getClass().getResourceAsStream("example.png"));
ImageView im = new ImageView(img);
im.setOpacity(0.25); /*its similar like transparency */ 
于 2013-11-01T09:07:40.577 回答
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....
于 2015-12-29T16:15:16.703 回答