SVG textPath沿路径正确对齐文本

时间:2014-05-13 20:36:18

标签: javascript svg snap.svg

我想在SVG路径上对齐文本,但是,似乎SVG并不想将它与所有字母的正确旋转对齐:

Text along my path

如何在曲线上方对齐文字,以便它可读,而不是如上图所示?

我使用Snap.SVG库进行SVG操作,我的代码如下所示:

var path = snapelement.path("M 540,0 S 150, 460, 150, 540")
           .attr({fill : "transparent", stroke : "#000", strokeWidth : 4})

var note = snapelement.text(0, 0, "EXAMPLE TEXT")
           .attr({"textpath" : path, "font-family" : "Helvetica Neue", "font-size" : 14});

任何建议,甚至纯粹的SVG解决方案,都表示赞赏。

1 个答案:

答案 0 :(得分:2)

只需反转绘制路径的方向即可。如果这样做,文本将位于该行的另一侧。

在这种情况下,您使用的是' S' path命令没有前一个路径段,因此计算反向路径有点棘手。以下是您的示例路径的反向:

var path = snapelement.path("M 150,540 C 150,540, 150,460, 540,0")