CanvasContext.quadraticCurveTo(number cpx, number cpy, number x, number y)

创建二次贝塞尔曲线路径。曲线的起始点为路径中前一个点。

参数

number cpx

贝塞尔控制点的 x 坐标

number cpy

贝塞尔控制点的 y 坐标

number x

结束点的 x 坐标

number y

结束点的 y 坐标

示例代码

  1. const ctx = wx.createCanvasContext('myCanvas')
  2. // Draw points
  3. ctx.beginPath()
  4. ctx.arc(20, 20, 2, 0, 2 * Math.PI)
  5. ctx.setFillStyle('red')
  6. ctx.fill()
  7. ctx.beginPath()
  8. ctx.arc(200, 20, 2, 0, 2 * Math.PI)
  9. ctx.setFillStyle('lightgreen')
  10. ctx.fill()
  11. ctx.beginPath()
  12. ctx.arc(20, 100, 2, 0, 2 * Math.PI)
  13. ctx.setFillStyle('blue')
  14. ctx.fill()
  15. ctx.setFillStyle('black')
  16. ctx.setFontSize(12)
  17. // Draw guides
  18. ctx.beginPath()
  19. ctx.moveTo(20, 20)
  20. ctx.lineTo(20, 100)
  21. ctx.lineTo(200, 20)
  22. ctx.setStrokeStyle('#AAAAAA')
  23. ctx.stroke()
  24. // Draw quadratic curve
  25. ctx.beginPath()
  26. ctx.moveTo(20, 20)
  27. ctx.quadraticCurveTo(20, 100, 200, 20)
  28. ctx.setStrokeStyle('black')
  29. ctx.stroke()
  30. ctx.draw()

CanvasContext.quadraticCurveTo - 图1

针对 moveTo(20, 20) quadraticCurveTo(20, 100, 200, 20) 的三个关键坐标如下:

  • 红色:起始点(20, 20)
  • 蓝色:控制点(20, 100)
  • 绿色:终止点(200, 20)