CanvasContext.bezierCurveTo

2020-09-14 15:16 更新

简介

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

扫码体验

undefined

效果示例

画布.gif

示例代码

  1. //.js
  2. const ctx = my.createCanvasContext('canvas')
  3. // 画点
  4. ctx.beginPath()
  5. ctx.arc(20, 20, 2, 0, 2 * Math.PI)
  6. ctx.setFillStyle('red')
  7. ctx.fill()
  8. ctx.beginPath()
  9. ctx.arc(200, 20, 2, 0, 2 * Math.PI)
  10. ctx.setFillStyle('lightgreen')
  11. ctx.fill()
  12. ctx.beginPath()
  13. ctx.arc(20, 100, 2, 0, 2 * Math.PI)
  14. ctx.arc(200, 100, 2, 0, 2 * Math.PI)
  15. ctx.setFillStyle('blue')
  16. ctx.fill()
  17. ctx.setFillStyle('black')
  18. ctx.setFontSize(12)
  19. // 画参考线
  20. ctx.beginPath()
  21. ctx.moveTo(20, 20)
  22. ctx.lineTo(20, 100)
  23. ctx.lineTo(150, 75)
  24. ctx.moveTo(200, 20)
  25. ctx.lineTo(200, 100)
  26. ctx.lineTo(70, 75)
  27. ctx.setStrokeStyle('#AAAAAA')
  28. ctx.stroke()
  29. // 画二次曲线
  30. ctx.beginPath()
  31. ctx.moveTo(20, 20)
  32. ctx.bezierCurveTo(20, 100, 200, 100, 200, 20)
  33. ctx.setStrokeStyle('black')
  34. ctx.stroke()
  35. 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

公众号
微信公众号

编程狮公众号