CanvasContext.bezierCurveTo

2020-09-14 15:16 更新

簡介

CanvasContext.bezierCurveTo 用于創(chuàng)建三次方貝塞爾曲線路徑。曲線的起始點(diǎn)為路徑中前一個點(diǎn)。

掃碼體驗(yàn)

undefined

效果示例

畫布.gif

示例代碼

//.js
const ctx = my.createCanvasContext('canvas')


// 畫點(diǎn)
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) 的三個關(guān)鍵坐標(biāo)如下:

  • 紅色:起始點(diǎn) (20, 20)
  • 藍(lán)色:兩個控制點(diǎn) (20, 100) (200, 100)
  • 綠色:終止點(diǎn) (200, 20)

入?yún)?/h4>

Object 類型,屬性如下:

屬性 類型 描述
cp1x Number 第一個貝塞爾控制點(diǎn) x 坐標(biāo)。
cp1y Number 第一個貝塞爾控制點(diǎn) y 坐標(biāo)。
cp2x Number 第二個貝塞爾控制點(diǎn) x 坐標(biāo)。
cp2y Number 第二個貝塞爾控制點(diǎn) y 坐標(biāo)。
x Number 結(jié)束點(diǎn) x 坐標(biāo)。
y Number 結(jié)束點(diǎn) y 坐標(biāo)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號