在缩放和变换后,在Snap.svg中获取新点

时间:2016-10-13 19:52:52

标签: javascript jquery css svg snap.svg

我已经宣布了一个像这样的SVG小组:

<g id="group-test">
    <polygon id="polygon-test" fill="#00ff00" points=" 249.60000610351562,90 197.50000762939453,90 171.4000072479248,45 197.4000072479248,0 249.5000057220459,0 275.6000061035156,45 275.5000061020255,45.30000001192093 249.60000610351562,90" />
    <text x="200" y="50" fill="#000000" font-size="14">Xx</text>
</g>

然后我使用父svg作为sn设置Snap的组选择,然后设置动画:

var back = sn.select('#group-test');

setTimeout(function ()
{
    back.animate(
    {
        transform: 's4.06 4.06 t-0.5,34.5'
    },
    1000,
    mina.linear);
},
3000);

但是当我发出警报时($('#polygon-test')。attr('points'));我在比例尺之前得到原始点数。我如何获得新积分?萤火虫也展示了旧的。

1 个答案:

答案 0 :(得分:1)

您将无法看到这样的变换点,因为这些点本身在元素上保持未变换为属性。

您需要将点传递给某些东西才能返回转换后的点。 Snap有这样的功能..

Snap.path.map( path, matrix );

您可以从element.transform()。localMatrix

获取矩阵

http://snapsvg.io/docs/#Snap.path.map