【发布时间】:2020-06-23 05:03:58
【问题描述】:
我想使用bezierCurveTo() 绘制图表。据我所知,只能用1个bezierCurveTo()设置3个锚点。如果我使用其中的多个,我会得到一条不流畅的线路。我该如何解决这个问题?
<canvas id="myCanvas" width="600" height="150" style="border:1px solid #d3d3d3;"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
context.beginPath();
context.moveTo(0, 150);
context.bezierCurveTo(100, 0, 200, 100, 300, 20);
context.bezierCurveTo(400, 0, 500, 100, 600, 20);
context.strokeStyle = 'blue';
context.stroke();
</script>
【问题讨论】:
-
命令是“curveTo”,它会自动从你已经在的任何点开始,所以你只需要通过使新曲线的控制点在同一条线上来保证C1的连续性上一条曲线的控制点和最后一点。通读pomax.github.io/bezierinfo/#polybezier 以获取更多信息(以及可能稍后会出现的问题的答案)
标签: javascript jquery html canvas bezier