使用 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/