将直线SVG路径设置为弯曲的动画?

时间:2016-11-26 12:13:46

标签: animation svg path transition

我有两个SVG,都是由3行组成的。

在第一个SVG中,线条笔直:

<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 1000 521.8" style="enable-background:new 0 0 1000 521.8;" xml:space="preserve">
<style type="text/css">
	.st0{fill:#FFFFFF;}
	.st1{fill:none;stroke:#000000;stroke-width:106;stroke-miterlimit:10;}
</style>
<g>
	<path class="st0" d="M0,261.9h77c27.5,0,72.5,0,100,0h823"/>
	<path class="st1" d="M0,261.9h77c27.5,0,72.5,0,100,0h823"/>
</g>
<g>
	<path class="st0" d="M0,463.9h77c27.5,0,72.5,0,100,0h823"/>
	<path class="st1" d="M0,463.9h77c27.5,0,72.5,0,100,0h823"/>
</g>
<g>
	<path class="st1" d="M0,59.9h77c27.5,0,72.5,0,100,0h823"/>
</g>
</svg>

在第二个中,我有三条线,但只是编织在一起:

<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
	 viewBox="0 0 1000 521.8" style="enable-background:new 0 0 1000 521.8;" xml:space="preserve">
<style type="text/css">
	.st0{fill:#FFFFFF;}
	.st1{fill:none;stroke:#000000;stroke-width:106;stroke-miterlimit:10;}
</style>
<g>
	<path class="st0" d="M0,261.9h77c27.5,0,71.7-5.9,98.3-13.1L825.7,72.9c26.5-7.2,70.8-13.1,98.3-13.1h76"/>
	<path class="st1" d="M0,261.9h77c27.5,0,71.7-5.9,98.3-13.1L825.7,72.9c26.5-7.2,70.8-13.1,98.3-13.1h76"/>
</g>
<g>
	<path class="st0" d="M0,463.9h77c27.5,0,71.7-5.9,98.3-13.1l650.5-175.9c26.5-7.2,70.8-13.1,98.3-13.1h76"/>
	<path class="st1" d="M0,463.9h77c27.5,0,71.7-5.9,98.3-13.1l650.5-175.9c26.5-7.2,70.8-13.1,98.3-13.1h76"/>
</g>
<g>
	<path class="st1" d="M0,59.9h77c27.5,0,69.8,10.7,94,23.8l660,356.5c24.2,13.1,66.5,23.8,94,23.8h75"/>
</g>
</svg>

我想知道是否存在某种转换功能?或者它将如何运作

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。网上有很多例子(在这个网站上)。搜索“svg path tweening”或“svg path morphing”。

要知道的重要规则是原始行和最后一行必须具有相同的路径命令集,顺序相同。目前您的原始行有“Mhch”,但您的编织线是“MhcLch”。

Original: M 0,261.9
          h 77
          c 27.5,0,72.5,0,100,0
          h 823

Final:    M 0,261.9
          h 77
          c 27.5,0,71.7-5.9,98.3-13.1
          L 825.7,72.9
          c 26.5-7.2,70.8-13.1,98.3-13.1
          h 76

为了使d属性的动画起作用。您需要更改原始路径,以便它们也是“MhcLch”。