首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Piccolo2D中拉伸零矩形?

无法在Piccolo2D中拉伸零矩形?
EN

Stack Overflow用户
提问于 2015-02-09 13:13:01
回答 1查看 48关注 0票数 0

为什么下面的示例中没有出现第一个和第三个矩形?

看上去长方形一旦有零大小就坏了。

代码语言:javascript
复制
package tests.piccolo;

import org.piccolo2d.extras.PFrame;
import org.piccolo2d.nodes.PPath;

public class Try_EmptyRectangle {

    public static void main(String[] args) {

        new PFrame() {

            @Override
            public void initialize() {

                PPath rect1 = PPath.createRectangle(0, 0, 0, 0);
                PPath rect2 = PPath.createRectangle(0, 100, 1, 1);
                PPath rect3 = PPath.createRectangle(0, 200, 1, 1);

                getCanvas().getLayer().addChild(rect1);
                getCanvas().getLayer().addChild(rect2);


                rect1.setWidth(50);
                rect1.setHeight(50);

                rect2.setWidth(50);
                rect2.setHeight(50);

                rect3.setWidth(0);
                rect3.setHeight(0);
                rect3.setWidth(50);
                rect3.setHeight(50);


            }



        };

    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-10 08:05:36

这看起来像个窃听器。PPath内部封装GeneralPathPPath.createRectangle(0, 0, 0, 0)GeneralPath初始化为零大小矩形形状。然后,更改PPath宽度/高度将触发边界更改。PPath重写internalUpdateBounds(),以便缩放路径以适应指定的边界。零大小路径似乎存在一个问题:

代码语言:javascript
复制
protected void internalUpdateBounds(final double x, final double y, final double width, final double height) {
    final Rectangle2D pathBounds = path.getBounds2D();
    ...
    final double scaleX;
    if (adjustedWidth == 0 || pathBounds.getWidth() == 0) {
            scaleX = 1;
    }
    ...
    final double scaleY;
    if (adjustedHeight == 0 || pathBounds.getHeight() == 0) {
         scaleY = 1;
    }
    ...
    TEMP_TRANSFORM.scale(scaleX, scaleY);
    ...
    path.transform(TEMP_TRANSFORM);
}

scaleX和scaleY总是1,因此路径实际上从来没有缩放,并且保持为零大小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28410670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档