CanvasContext.draw(boolean reserve, function callback)

将之前在绘图上下文中的描述(路径、变形、样式)画到 canvas 中。

参数

boolean reserve

本次绘制是否接着上一次绘制。即 reserve 参数为 false,则在本次调用绘制之前 native 层会先清空画布再继续绘制;若 reserve 参数为 true,则保留当前画布上的内容,本次调用 drawCanvas 绘制的内容覆盖在上面,默认 false。

function callback

绘制完成后执行的回调函数

示例代码

第二次 draw() reserve 为 true。所以保留了上一次的绘制结果,在上下文设置的 fillStyle ‘red’ 也变成了默认的 ‘black’。

  1. const ctx = wx.createCanvasContext('myCanvas')
  2. ctx.setFillStyle('red')
  3. ctx.fillRect(10, 10, 150, 100)
  4. ctx.draw()
  5. ctx.fillRect(50, 50, 150, 100)
  6. ctx.draw(true)

CanvasContext.draw - 图1

示例代码

第二次 draw() reserve 为 false。所以没有保留了上一次的绘制结果和在上下文设置的 fillStyle ‘red’。

  1. const ctx = wx.createCanvasContext('myCanvas')
  2. ctx.setFillStyle('red')
  3. ctx.fillRect(10, 10, 150, 100)
  4. ctx.draw()
  5. ctx.fillRect(50, 50, 150, 100)
  6. ctx.draw()

CanvasContext.draw - 图2