围绕一个点进行SVG缩放转换涉及的数学是什么?

时间:2013-11-25 20:05:24

标签: javascript svg raphael

我正在使用Raphael.js中的继承代码库,所以我正在尝试对这些代码进行逆向工程。我有一组转换发生在一组表示字母字符形状的路径上,它们被组合在一起作为单词/字符串:

shape.attr('path', Raphael.transformPath(shape.attr('path'), ['t', x, y]));
shape.attr('path', Raphael.transformPath(shape.attr('path'), ['s', sizeByScale, sizeByScale, +**bb[0]**, 0]));
shape.attr('path', Raphael.transformPath(shape.attr('path'), ['t', totalShift, 0]));

看看这三个,这是逐行发生的事情:

  1. 根据字母组的位置调整形状(即,形状'Apple'中的形状'A'位于x,y,因此沿着它转换)
  2. 路径的比例在x轴(在代码中突出显示)的值{{1>}左右调整到位,以便在浏览器的SVG-land中看起来正确(这些路径来了来自Cufon)
  3. 形状根据前面的字符向右移动
  4. 我想重构这段代码,以便我可以单独缩放形状,然后稍后调整它们的x / y平移,而不必担心bb [0]引起的“缩放”效果。我如何找出基于bb [0]的x调整?如果我需要澄清任何内容,请告诉我。

0 个答案:

没有答案
相关问题