如何在 raphael.js 中缩放路径

发布于 2024-11-05 04:11:24 字数 175 浏览 5 评论 0原文

我不明白为什么下面的例子不起作用......它只有在我调整它的大小一次时才有效,但如果我尝试再次调整它的大小,它就会变得一团糟......

http://jsfiddle.net/JAVWN/1/

I don't understand why the following example is not working... It only works if I am resizing it once but if I try to resize it again it get's all messed up...

http://jsfiddle.net/JAVWN/1/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

顾挽 2024-11-12 04:11:24

你可能会认为,如果调用一次scale(),然后再次调用scale(),结果将是累积的,但事实似乎并非如此。看来,如果您调用scale(),它会记住原始尺寸并缩放这些尺寸,而不是之前重新计算的尺寸。

我让你的例子工作的方法是将比例(每个维度一个变量)存储在你的对象上(从scaleX = scaleY = 1开始)。然后,我将存储的比例乘以根据缩放器/光标的最终位置计算出的比例,并将其存储在对象中。最后,我使用scale()函数调用中存储的比例来调整形状的大小。

请参阅http://jsfiddle.net/donniec/JAVWN/2/

You would think that if you called scale() once and then called scale() again, the results would be cumulative, but this doesn't seem to be the case. It seems that if you call scale(), it remembers the original dimensions and scales those rather than the previously recalculated dimensions.

The way I got your example to work was to store the scale (one variable for each dimension) on your object (starting with scaleX = scaleY = 1). Then I multiplied the stored scale by the scale calculated from the final position of the resizer/cursor and stored those in your object. Finally, I used the stored scales in the scale() function call to resize your shapes.

See http://jsfiddle.net/donniec/JAVWN/2/

小耗子 2024-11-12 04:11:24

我修复了它......只需使用 node.resetScale();

I fixed it... just use node.resetScale();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文