3
我正在創建一個簡單的javafx應用程序。我只想從兩個同心圓之間的區域內剪切圖像,這會改變鼠標移動中的中心座標,粘貼的對象出現在初始定義的位置,但它不響應鼠標移動。請告訴我我做錯了什麼。使用複雜形狀的javafx剪輯蒙版
我的代碼是:
public DoubleProperty xCordinate;
public DoubleProperty yCordinate;
@Override
public void start(Stage primaryStage) {
Group root = new Group();
Image image = new Image(MyClass.class
.getResource("Water lilies.jpg").toExternalForm());
Scene scene = new Scene(root, image.getWidth(), image.getHeight(),
Color.WHITE);
ImageView view = new ImageView();
view.setImage(image);
xCordinate = new SimpleDoubleProperty(100.0f);
yCordinate = new SimpleDoubleProperty(100.0f);
scene.setOnMouseMoved(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
xCordinate.set(event.getX());
yCordinate.set(event.getY());
System.out.println("xCordinate " + xCordinate + " yCordinate "
+ yCordinate);
}
});
Circle c1 = new Circle();
c1.centerXProperty().bind(xCordinate);
c1.centerYProperty().bind(yCordinate);
c1.setRadius(50.0f);
Circle c2 = new Circle();
c2.centerXProperty().bind(xCordinate);
c2.centerYProperty().bind(yCordinate);
c2.setRadius(35.0f);
Shape mask = Path.subtract(c1, c2);
view.setClip(mask);
root.getChildren().add(view);
primaryStage.setScene(scene);
primaryStage.show();
}