如何在画布上绘制文本,该文本遵循使用二次曲线方法绘制的二次曲线

How can I draw text on <canvas>, that follows a Quadratic Curve drawn using the quadraticCurveTo method

本文关键字:文本 绘制 二次 曲线 方法      更新时间:2023-09-26

是否有任何函数允许我在任何地方绘制文本,遵循二次曲线(使用quadraticCurveTo方法绘制)?

我只找到了一个函数,允许我在Arc上绘制文本,但这不是我想要的。

这里你们都可以看到我的情况:http://jsbin.com/ixozok

当然没有内置的方法,但值得注意的是,这在SVG中非常容易做到,因为SVG本身支持在路径上绘制文本。

要在画布中做到这一点,你需要将你的二次曲线分解成一系列代表曲线的点(例如,通过执行类似的东西)。你想要的是一个点的列表它是二次曲线的近似值。然后你在这个近似上选择你想要画的点然后分别画出文本的每个字母。要找到任何特定字母的角度,你可以用你画这个字母的点和相邻的点,用这两个点来计算斜率(从而计算角度)。

它背后的理论并不太难,但对我来说,现在做一个工作代码示例太繁重了。