我正在构建一个Java FX 2应用程序,它必须在透明的png图像下显示动画,方法是将矩形绘制到位于包含图像的图像视图下方的窗格的“图形”中。
经过几个小时的搜索,我发现只有创建矩形的示例,然后将其添加到场景一次。但是,我需要画一个循环(每隔几毫秒),我不知道如何直接绘制到窗格。
我正在使用FXML来构建GUI。
可以像Swing一样绘制到Java FX中任何组件的图形吗?
提前致谢。
答案 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....