В моем приложении я использую ImageView для отображения изображения. Я не хочу, чтобы изображение искажалось, поэтому я звоню setPreserveRatio(true). Как описано в документации, высота и ширина «могут масштабироваться, чтобы наилучшим образом соответствовать прямоугольнику ширины по высоте при сохранении исходного соотношения сторон». Есть ли возможность получить масштабированную высоту и ширину изображения? Проблема в том, что я не знаю, что считается «наилучшим вариантом».JavaFX ImageView: Можно ли получить размер масштабируемого изображения, если preserveRatio = true?
Q
JavaFX ImageView: Можно ли получить размер масштабируемого изображения, если preserveRatio = true?
0
A
ответ
3
Если бы та же проблема, к счастью, достаточно, вы можете получить границы отображаемого изображения и вычислить соотношение примерно так:
@FXML
ImageView imageView;
double getScaleXRatio()
{
return imageView.getBoundsInParent().getWidth()/imageView.getImage().getWidth();
}
double getScaleYRatio()
{
return imageView.getBoundsInParent().getHeight()/imageView.getImage().getHeight();
}
Я считаю, вы можете получить оценки масштабируемого изображения с помощью imageView.getBoundsInParent(), который считает, что все локальные преобразования. – Matthias