raphael - 对 Raphael.js 中的集合应用转换

标签 raphael

使用 Raphael 2.0 ,我试图以相对于集合中所有对象的方式将变换应用于一组对象。但是,我得到的效果是,无论集合中的其他对象如何,变换都单独应用于每个项目。

例如:http://jsfiddle.net/tim_iles/VCca9/8/ - 如果您现在取消对最后一行的注释并运行代码,则每个圆圈将缩放为 0.5 倍。我试图实现的实际效果是缩放整个圆圈集,因此它们的相对距离也被缩放,这应该将它们全部放在白色方块的边界框内。

有没有办法使用 Raphael 的内置工具来实现这一点?

最佳答案

缩放时,第一个参数是 X 比例。如果您不提供其他参数,它将使用它作为 Y 比例,并围绕对象的中心进行缩放。

当您缩放矩形时,它会围绕矩形的中心进行缩放。如果您希望圆圈也围绕该点而不是其中心进行缩放,则应提供该点。

所以最后一行可能是 set.transform("s0.5,0.5,100,100"); (100,100 是您缩放的矩形的中心)

至少,我认为这就是你所要求的。

关于raphael - 对 Raphael.js 中的集合应用转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10088206/

相关文章:

javascript - 拉斐尔 JS - paper.remove

javascript - Raphael ID 在 iPad 上与在浏览器上不同

svg - 在 Raphael.js 中获取两点之间的子路径,而不是位置

html - 如何为 svg 提供响应式设计?

javascript - Raphael JS for 循环中的鼠标事件

javascript - 在 d3 中制作动画弧响应?

Javascript:为什么我的 Raphaeljs 动画滞后?甚至不一致

javascript - 定位 SVG 元素

javascript - 如何使用鼠标坐标在拖动时画线

javascript - 在 Raphael 中绘制一半的贝塞尔路径