2017-09-18 2 views
0

私は、四角形と画像を上に含むグループを持っています。私は矩形がサイズ変更可能で、矩形が画像よりも小さい場合を除いて、画像は固定サイズでなければなりません。次に、イメージは長方形で縮小されます。JavaFXダウンサイズImageView

また、画像は常に中央に配置され、いくつかの詰め物がある必要があります。

イメージの縮小部分を除いて、私はこれらの部分のほとんどを行っています。なぜか分かりませんが、イメージは全くサイズダウンしません。これは私が持っているものです。

Group group = new Group() 
    GeometryNode<Rectangle> rectangle = new GeometryNode<>(); 
    rectangle.setGeometry(new Rectangle(0, 0, 60, 60)); 

    ImageView imageView = new ImageView(image); 
    imageView.setPreserveRatio(true); 

    ImageViewPane imagePane = new ImageViewPane(imageView); 
    imagePane.setMinSize(0, 0); 
    imagePane.setMaxSize(50, 50); 

    StackPane stackPane = new StackPane(); 

    stackPane.getChildren().add(rectangle); 
    stackPane.getChildren().add(imagePane); 
    group.getChildren().add(stackPane); 

答えて

1

あなたはStackPaneの変化の大きさならばImageViewfitWidthfitHeightプロパティを変更したいです。そうすることができます

double padding = ... ; 

imageView.setPreserveRatio(true); 
imageView.fitWidthProperty().bind(
    Bindings.min(stackPane.widthProperty().subtract(padding), image.widthProperty())); 
imageView.fitHeightProperty().bind(
    Bindings.min(stackPane.heightProperty().subtract(padding), image.heightProperty())); 
関連する問題