2016-04-26 79 views
1

类似的问题似乎已经问过,但没有一个解决方案,似乎为我,所以在这里工作是我的代码:如何使用动画缩放svg元素?

this.animate({scale(2, 2, vinerBBoxX, vinerBBoxY)}, 100, mina.easeinout); 

vinerBBoxX是元素的x中心和vinerBBoxY是y中心,无论是在缩放而没有动画效果时工作得很好。

我一般都会遇到缩放问题,网络上有这么多的解决方案,我发现完全不可能。请帮忙!

回答

2

Snap使用其自己的字符串格式进行转换。 s代表缩放比例,默认情况下它会围绕其中心缩放。

要设置动画的属性是'transform'与scale相反(变换可以在设置时将比例作为字符串的一部分,例如transform:'scale(2,2)',但这不会用作动画,因为它是。

最简单的方法是这样的......

g.animate({ transform: 's2,4'}, 2000) 

您可以组合变换元素,以及像

g.animate({ transform: 't200,200s2,4'}, 2000) 

为了翻译“T” 200,200 followe d by scalex,y's'2,4

jsfiddle