CanvasContext.bezierCurveTo
2020-09-14 15:16 更新
简介
CanvasContext.bezierCurveTo 用于创建三次方贝塞尔曲线路径。曲线的起始点为路径中前一个点。
扫码体验
效果示例
示例代码
//.js
const ctx = my.createCanvasContext('canvas')
// 画点
ctx.beginPath()
ctx.arc(20, 20, 2, 0, 2 * Math.PI)
ctx.setFillStyle('red')
ctx.fill()
ctx.beginPath()
ctx.arc(200, 20, 2, 0, 2 * Math.PI)
ctx.setFillStyle('lightgreen')
ctx.fill()
ctx.beginPath()
ctx.arc(20, 100, 2, 0, 2 * Math.PI)
ctx.arc(200, 100, 2, 0, 2 * Math.PI)
ctx.setFillStyle('blue')
ctx.fill()
ctx.setFillStyle('black')
ctx.setFontSize(12)
// 画参考线
ctx.beginPath()
ctx.moveTo(20, 20)
ctx.lineTo(20, 100)
ctx.lineTo(150, 75)
ctx.moveTo(200, 20)
ctx.lineTo(200, 100)
ctx.lineTo(70, 75)
ctx.setStrokeStyle('#AAAAAA')
ctx.stroke()
// 画二次曲线
ctx.beginPath()
ctx.moveTo(20, 20)
ctx.bezierCurveTo(20, 100, 200, 100, 200, 20)
ctx.setStrokeStyle('black')
ctx.stroke()
ctx.draw()
显示效果如下图所示:
针对 moveTo(20, 20) bezierCurveTo(20, 100, 200, 100, 200, 20) 的三个关键坐标如下:
- 红色:起始点 (20, 20)
- 蓝色:两个控制点 (20, 100) (200, 100)
- 绿色:终止点 (200, 20)
入参
Object 类型,属性如下:
属性 | 类型 | 描述 |
---|---|---|
cp1x | Number | 第一个贝塞尔控制点 x 坐标。 |
cp1y | Number | 第一个贝塞尔控制点 y 坐标。 |
cp2x | Number | 第二个贝塞尔控制点 x 坐标。 |
cp2y | Number | 第二个贝塞尔控制点 y 坐标。 |
x | Number | 结束点 x 坐标。 |
y | Number | 结束点 y 坐标。 |
以上内容是否对您有帮助:
更多建议: