2013-10-11 56 views
0

我正在构建一个Java FX 2应用程序,它必须在透明PNG图像下显示动画,通过将矩形绘制到位于图像视图下方的“图形”图片。如何在透明图像下绘制使用JAVA FX 2

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

我使用FXML来构建GUI。

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

在此先感谢。

回答

0

图像视图有一个不透明财产....这会使图像等的透明..

尝试this..i希望它的工作。

Image img = new Image(getClass().getResourceAsStream("example.png")); 
ImageView im = new ImageView(img); 
im.setOpacity(0.25); /*its similar like transparency */ 
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....