KUTE.js svg路径没有变形

时间:2016-08-19 16:00:40

标签: javascript svg path morphing

Here is a codepen i made.

如您所见,路径不会变形。 我已经跳到结论问题是在 svg 本身内,它们没有变形。 这可能是什么问题?形状非常简单,都具有相同的大小和锚点,正如kute.js documentation所述,“封闭的形状(它们的d属性以z结尾)。”

  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600" >
    <path id="n1" fill="orangered" d="M62,7.5l210,20l30,230l-290-60L62,7.5z"/>
    <path id="n2" style="visibility:hidden" d="M0,7.5l315,32l-31,189l-280,31L0,7.5"/>
  </svg>

1 个答案:

答案 0 :(得分:0)

最新版本fixes问题。当两个多边形具有相同的点数时,插件无法处理该情况。

有问题的代码

  if ( s.length !== e.length ){
    arL = Math.max(s.length,e.length);
    if ( arL === e.length) { sm = s; lg = e; } else { sm = e; lg = s; }
    sml = sm.length;

    smp = S.cP('M'+sm.join('L')+'z'); len = smp.getTotalLength() / arL;
    for (var i=0; i<arL; i++){
      tl = smp.getPointAtLength(len*i);
      cs = S.gCP(len,tl,sm);
      nsm.push( [ cs[0], cs[1] ] );
    }

    if (arL === e.length) { e1 = lg; s1 = nsm; } else { s1 = lg; e1 = nsm; }
  } else { // here we know the paths have same number of points
    s1 = s; e1 = e;
  }

Codepen demo