【问题标题】:Scale Polygons in javafx to their parent将 javafx 中的多边形缩放到其父级
【发布时间】:2019-09-12 02:48:05
【问题描述】:

假设您在容器中有一个多边形,并且您希望在创建该容器时将其缩放到容器中。您为该容器创建宽度和高度,并且您已经定义了一个多边形,并包含在其中。现在您希望该多边形始终具有与其所在容器相同的宽度和高度。

【问题讨论】:

    标签: java javafx scale polygon javafx-11


    【解决方案1】:

    你就是这样解决的:

    private void makePolyScale(int height, int width) {
    
        Scale scale = new Scale ();
        scale.setX(width/BASE_WIDTH);
        scale.setY(height/BASE_HEIGHT);
    
        scale.setPivotX(this.body.getBoundsInParent().getCenterX());
        scale.setPivotY(this.body.getBoundsInParent().getCenterY());
    
        body.getTransforms().addAll(scale);
    }
    

    base width 和 baseheight 是多边形的高度和宽度。您可以从您的双点数组中计算出来(只需找到 minmax x/y 并从相应 x 和 y 的最大值中减去最小值)

    width 和 height 是父容器的宽度和高度。

    【讨论】:

    • 我建议在添加比例之前先清除转换。如果您的容器大小经常变化,这是必需的。
    • 感谢您重新格式化。在为此争论了无数小时后,我在凌晨 4 点写了这篇文章,因为我不知道你必须使用规模。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    相关资源
    最近更新 更多