有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中心裁剪图像JavaFX

如何使用JavaFX实现Android scaleType="centerCrop"

我有我的图像视图:

ImageView myImage = new ImageView("https://example.com/image/my_image.png");

//maybe
//myImage.scaleType = "centerCrop";

共 (1) 个答案

  1. # 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);