Изображение центра Javafx в изображении с фоновой загрузкой - PullRequest
0 голосов
/ 23 ноября 2018

Я хочу центрировать изображение в ImageView.ImageViews используются для миниатюр изображений в списке, и я использовал фиксированный видовой экран с шириной и высотой 90, чтобы он выглядел более чистым.Изображения используют BackgroundLoading, поэтому я не знаю размеров изображения в момент помещения его в ImageView.И, конечно, я не хочу растягивать (или обрезать) изображения.Я использую preserveRatio при загрузке изображения.Есть ли какой-нибудь способ вписать изображение по центру в ImageView вместо левого верхнего угла?Самая длинная сторона изображений всегда 90.

1 Ответ

0 голосов
/ 23 ноября 2018

Поскольку код был слишком длинным для комментария, вот он:

    Image image = new Image(pictureURL, 90, 90, true, true, true)

    ImageView imgView = new ImageView(image);        
    VBox imageSpacingVBox = new VBox();

    Pane spaceAbove = new Pane();
    spaceAbove.setMinHeight(0);
    spaceAbove.setPrefHeight(45);

    Pane spaceBelow = new Pane();
    spaceBelow.setMinHeight(0);
    spaceBelow.setPrefHeight(45);

    imageSpacingVBox.setMaxHeight(90);
    imageSpacingVBox.setPrefHeight(90);
    imageSpacingVBox.setMinHeight(90);

    imageSpacingVBox.setMaxWidth(90);
    imageSpacingVBox.setPrefWidth(90);
    imageSpacingVBox.setMinWidth(90);

    imageSpacingVBox.getChildren().addAll(spaceAbove, imgView, spaceBelow);

Если у кого-то есть более простое и элегантное решение, я бы хотел услышать об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...