2014-11-03 113 views
0

我用ImageView沒有什麼問題來設置圖像沒有拉伸和居中位置。例如,我有ImageView的邊界100像素×100像素,我有大約50個不同尺寸的圖像,但不大於100x100。當我在ImageView上切換它們時,小部分總是被拉伸。當我使用這樣的東西:JavaFx ImageView設置中心圖像

Image image = new Image(ImagePanel); 
    this.ImageViewItem.setImage(image); 
    Double h = image.getHeight(); 
    Double w = image.getWidth(); 

    ImageViewItem.setFitWidth(w); 
    ImageViewItem.setFitHeight(h); 

他們是正確的大小,但在左上角。

回答

0

我在[1]中發現了類似的問題。根據其參考,我們可以使用StackPane,HBox,VBox,TilePane,FlowPane,BorderPane,GridPane或AnchorPane。

對於你的問題,你可以使用Stackpane如下。

stackPane.setBackground(new Background(new BackgroundImage(img, BackgroundRepeat.NO_REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.CENTER, BackgroundSize.DEFAULT))); 

在這裏你的圖像不會被拉伸,它將始終與堆疊面板的中心對齊。