CanvasContext.bezierCurveTo

2020-09-14 15:16 更新

简介

CanvasContext.bezierCurveTo 用于创建三次方贝塞尔曲线路径。曲线的起始点为路径中前一个点。

扫码体验

undefined

效果示例

画布.gif

示例代码

//.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()

显示效果如下图所示: ctx.bezeir.png

针对 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 坐标。
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号