【问题标题】:Center crop image JavaFX中心裁剪图像 JavaFX
【发布时间】:2017-04-27 21:53:39
【问题描述】:
如何使用 JavaFX 实现 Android scaleType="centerCrop"?
我有我的图像视图:
ImageView myImage = new ImageView("https://example.com/image/my_image.png");
//maybe
//myImage.scaleType = "centerCrop";
【问题讨论】:
标签:
java
image
javafx
scaletype
【解决方案1】:
感谢@TravisF 的帖子,我已经实现了最后一个解决方案,使图像始终具有相同的高度、宽度和位置(中心)。
double newMeasure = (userImage.getImage().getWidth() < userImage.getImage().getHeight()) ? userImage.getImage().getWidth() : userImage.getImage().getHeight();
double x = (userImage.getImage().getWidth() - newMeasure) / 2;
double y = (userImage.getImage().getHeight() - newMeasure) / 2;
Rectangle2D rect = new Rectangle2D(x, y, newMeasure, newMeasure);
userImage.setViewport(rect);
userImage.setFitWidth(150);
userImage.setFitHeight(150);
userImage.setSmooth(true);