5

是否可以使用paper.js沿着贝塞尔曲线轻松绘制文本?

我知道可以将文本附加到线条路径然后旋转它,但我对沿曲线绘制文本特别感兴趣。像http://www.w3.org/TR/SVG11/images/text/toap02.svg

我知道这可以通过逐个字母打印文本来实现,并将相应的旋转应用于每个项目,但我对在 paper.js 中实现这一目标的更简单方法感兴趣

4

2 回答 2

14

如上一个答案所述,PaperJS 不提供开箱即用的此功能。但是您可以毫不费力地达到效果。

以下是如何进行:

  1. 获取文本中每个字形的 x 中心的偏移量。这可以通过使用子字符串的 PointText 的宽度直到字形来完成。
  2. 在您希望文本对齐的路径上找到偏移点。
  3. 将单个居中字形放置在刚刚找到的点。按路径的切线角度旋转 glph。

这是纸质草图:将文本与路径草图对齐

这是一个简单测试的结果:

在此处输入图像描述

在应用旋转以实现与路径的偏移之前,您可以沿 y 轴移动字形的 PointText 对象(如示例中的红色文本)。

于 2015-06-22T20:35:42.817 回答
5

我们还没有在 Paper.js 中实现沿路径的文本。目前,文本支持还很初级,但是一旦我们推出了库的 1.0 版,这有望很快改变。

于 2013-05-14T05:21:13.480 回答