设置.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';
答案 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时,矩形居中(默认情况下)。