Javascript “调整矩形大小”;onResize";在paper.js中

Javascript “调整矩形大小”;onResize";在paper.js中,javascript,rectangles,paperjs,Javascript,Rectangles,Paperjs,好吧,我觉得自己非常愚蠢,但在尝试了半个小时左右后,我放弃了 如何通过paper.js中的onResize()事件调整矩形的大小? 我正在尝试,它已经带有onResize()函数,但没有成功(您可以通过单击右上角的Source按钮来编辑示例) 当前的调整大小功能如下所示: function onResize() { text.position = view.center + [0, 200]; square.position = view.center; } 现在,我尝试通过添

好吧,我觉得自己非常愚蠢,但在尝试了半个小时左右后,我放弃了

如何通过paper.js中的
onResize()
事件调整矩形的大小? 我正在尝试,它已经带有
onResize()
函数,但没有成功(您可以通过单击右上角的
Source
按钮来编辑示例)

当前的调整大小功能如下所示:

function onResize() {
    text.position = view.center + [0, 200];
    square.position = view.center;
}
现在,我尝试通过添加以下内容使正方形在调整大小时达到视口高度的80%:

square.size=[view.size.height/100*80,view.size.height/100*80]

(为了确保这一点,我对静态数字也做了同样的尝试)

我试过了

square.size=新尺寸(宽度、高度)

square.set(新点(视图、中心)、新尺寸(宽度、高度)

大概还有20个版本,我现在记不起来了。 当我在console.log中记录
square.size
时,它确实向我显示了新分配的值(有时?),但它仍然保持矩形的大小不变


我能做些什么来实际更改矩形的大小?

只是为了确保,每当窗口的尺寸更改时,
onResize()
函数都会被调用。这不是唯一可以更改矩形大小的地方/它与矩形本身无关

要更改矩形的大小,您必须查看文档。有一个
scale(amount)
和一个
expand(amount)
方法附加到
rectangle
对象。
size
只是一个属性,它似乎没有设置器

因此,如果你想在正方形和视图之间保持一个比例,我想你可以保存上一个视图的宽度,看看区别是什么,并相应地缩放矩形——看看如何在这个对上一个问题的回答中

或者,您可以重新初始化正方形,并在每次调整视图大小时将“大小”属性设置为视图宽度的80%:

square = new Path.Rectangle({
    position: view.center,
    size: view.bounds.width * 0.8,
    parent: originals,
    fillColor: 'white'
});

为了确保这一点,只要窗口的尺寸改变,就会调用
onResize()
函数。这不是唯一可以改变矩形大小的地方/它与矩形本身无关

要更改矩形的大小,您必须查看文档。有一个
scale(amount)
和一个
expand(amount)
方法附加到
rectangle
对象。
size
只是一个属性,它似乎没有设置器

因此,如果你想在正方形和视图之间保持一个比例,我想你可以保存上一个视图的宽度,看看区别是什么,并相应地缩放矩形——看看如何在这个对上一个问题的回答中

或者,您可以重新初始化正方形,并在每次调整视图大小时将“大小”属性设置为视图宽度的80%:

square = new Path.Rectangle({
    position: view.center,
    size: view.bounds.width * 0.8,
    parent: originals,
    fillColor: 'white'
});

感谢ibriq,这是可行的。我认为与缩放或扩展相比,
新路径.Rectangle
选项似乎更容易。我仍然想知道,如果您可以通过
square.position=view.center;
设置位置,那么为什么您不能对
square.size
做类似的事情呢?谢谢ibriq,这是可行的。我认为
新路径.Rect角度
选项似乎比缩放或扩展更容易。我仍然想知道,如果您可以通过
square.position=view.center;
设置位置,那么为什么您不能对
square.size
执行类似的操作呢?