如何将一个图标转换为另一个图标

How to transform one icon to another

是否可以将一种形状转换为另一种形状,例如两个 SVG 图标。一个是鸟 (twitter),一个是 F (facebook)。所以我想做一个动画把小鸟的形状转换成F。例子:http://www.tiikoni.com/tis/view/?id=2f3905c

我不知道该怎么做,但它非常有效。人们已经创建了类似的样式,例如将菜单按钮转换为关闭按钮。但是我不确定什么技术可以帮助创建它。

所以请让我知道我该怎么做。以及任何可能的例子。 提前致谢!

有许多 JavaScript 库可以帮助解决这个问题 - 您应该搜索的术语是 SVG 变形

下面是一个使用 SVG Morpheus 的例子:

var iconElement = document.getElementById('icon');
var icon = new SVGMorpheus(iconElement, { rotation: 'none' });


iconElement.addEventListener('click', function() {
  // Morph to the icon with the given ID
  icon.to('square');
});
<script src="//cdnjs.cloudflare.com/ajax/libs/SVG-Morpheus/0.1.8/svg-morpheus.js"></script>

<svg id="icon">
  <!-- Place each icon in a group (<g> tag) with a unique ID -->
  <g id="square">
    <rect width="100" height ="100" />
  </g>
  <g id="circle">
    <ellipse rx="50" ry="50" cx="50" cy="50" />
  </g>
</svg>

另一种可能不适合质量目的的替代方法是制作一个带有动画的 gif。