中心矩形,大小与宽度/高度属性

时间:2018-03-07 21:55:31

标签: paperjs

设置.size属性时,为什么矩形为 居中

var rect = new Rectangle();
rect.center = view.center;
rect.size = new Size(100, 200);
var path = new Path.Rectangle(rect);
path.fillColor = 'red';

设置.width和.height属性时,为什么矩形 不会居中

var rect = new Rectangle();
rect.center = view.center;
rect.width = 100;
rect.height = 200;
var path = new Path.Rectangle(rect);
path.fillColor = 'red';

1 个答案:

答案 0 :(得分:1)

我也很好奇,看看源代码。

发生这种情况是因为直接更新宽度/高度只会改变bottomRight点所在的点。你只是告诉你在X和Y方向“成长”。

另一方面,使用“.size”,这是一个setter (method here) 做得更多。它重新加入了X& Y基于一个名为“_sx”的内部状态& “_sy”(默认值为0.5 - center - as value。More here)。

关键在于:

servlet engine

当“sx”和/或“sy”为0.5时,矩形居中(默认情况下)。