沿paper.js中的bezier曲线绘制文本

时间:2013-05-14 03:31:26

标签: javascript html5 canvas paperjs

是否可以使用paper.js

轻松地沿贝松曲线绘制文本

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

这样的东西

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

2 个答案:

答案 0 :(得分:12)

如前面的答案中所述,PaperJS不提供开箱即用的此功能。但是你可以用很少的努力来达到效果。

以下是如何继续:

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

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

    enter image description here

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

答案 1 :(得分:4)

我们尚未在Paper.js中沿路径实现文本。目前,文本支持相当简陋,但是一旦我们推出了该库的1.0版本,这将有望很快改变。