(1).API接口
(2).context 对象的方法列表
二.步骤
wxml中:
     <canvas canvas-id="myCanvas" class="myCanvas" ></canvas>
在js文件onLoad: function() {}的方法中开始编写代码
1.创建一个 Canvas 绘图上下文 CanvasContext
     const ctx = wx.createCanvasContext(‘myCanvas‘)
2.们来描述要在 Canvas 中绘制什么内容(绘图描述)
①.样式的描述
       ctx.setFillStyle(‘red‘)
②形状描述:填充矩形,描边矩形,圆,线段等
       ctx.fillRect(10, 10, 150, 75)
3.绘制
      ctx.draw()
三.效果
wxml中:
<canvas canvas-id="myCanvas" class="myCanvas" ></canvas>
(1).绘制矩形:参数都是(起点x1,起点y1,宽度,长度)
①填充矩形
填充颜色:setFillStyle(‘red‘)
填充矩形:ctx.fillRect(10, 10, 150, 75)或是ctx.rect(10, 10, 150, 75)如果没有填充颜色,则默认是黑色
js文件中
const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.setFillStyle(‘red‘)
ctx.fillRect(10, 10, 150, 75)
ctx.draw()const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.setStrokeStyle(‘red‘)
ctx.strokeRect(10, 10, 150, 75)
ctx.draw()
加了一层背景色
<canvas canvas-id="myCanvas" style="border: 1px solid; background: #123456;"/>js中:	onLoad: function() {
		const ctx = wx.createCanvasContext(‘myCanvas‘);
		ctx.setFillStyle(‘red‘);
		ctx.fillRect(0, 0, 150, 200);
		ctx.setFillStyle(‘blue‘);
		ctx.fillRect(150, 0, 150, 200);
		ctx.clearRect(10, 10, 150, 75);
		ctx.draw();
	}const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.moveTo(10, 10)
ctx.lineTo(100, 10)
ctx.lineTo(100, 100)
ctx.fill()
ctx.draw()const ctx = wx.createCanvasContext(‘myCanvas‘)
// begin path
ctx.rect(10, 10, 100, 30)
ctx.setFillStyle(‘yellow‘)
ctx.fill()
// begin another path
ctx.beginPath()
ctx.rect(10, 40, 100, 30)
// only fill this rect, not in current path
ctx.setFillStyle(‘blue‘)
ctx.fillRect(10, 70, 100, 30)
ctx.rect(10, 100, 100, 30)
// it will fill current path
ctx.setFillStyle(‘red‘)
ctx.fill()
ctx.draw()const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.moveTo(10, 10)
ctx.lineTo(100, 10)
ctx.lineTo(100, 100)
ctx.stroke()
ctx.draw()const ctx = wx.createCanvasContext(‘myCanvas‘)
// begin path
ctx.rect(10, 10, 100, 30)
ctx.setStrokeStyle(‘yellow‘)
ctx.stroke()
// begin another path
ctx.beginPath()
ctx.rect(10, 40, 100, 30)
// only stoke this rect, not in current path
ctx.setStrokeStyle(‘blue‘)
ctx.strokeRect(10, 70, 100, 30)
ctx.rect(10, 100, 100, 30)
// it will stroke current path
ctx.setStrokeStyle(‘red‘)
ctx.stroke()
ctx.draw()const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.moveTo(10, 10)
ctx.lineTo(100, 10)
ctx.lineTo(100, 100)
ctx.closePath()
ctx.stroke()
ctx.draw()const ctx = wx.createCanvasContext(‘myCanvas‘)
ctx.moveTo(10, 10)
ctx.rect(10, 10, 100, 50)
ctx.lineTo(110, 60)
ctx.stroke()
ctx.draw()var app = getApp()  
Page({
	onLoad: function() {
		const ctx = wx.createCanvasContext(‘myCanvas‘)
		// 绘制一个灰色园
		ctx.arc(100, 75, 50, 0, 2 * Math.PI)
		ctx.setFillStyle(‘#EEEEEE‘)
		ctx.fill()
		//绘制一个坐标系
		ctx.beginPath()
		ctx.moveTo(40, 75)
		ctx.lineTo(160, 75)
		ctx.moveTo(100, 15)
		ctx.lineTo(100, 135)
		ctx.setStrokeStyle(‘#AAAAAA‘)
		ctx.stroke()
		//坐标系4个点的数字
		ctx.setFontSize(12)
		ctx.setFillStyle(‘black‘)
		ctx.fillText(‘0‘, 165, 78)
		ctx.fillText(‘0.5*PI‘, 83, 145)
		ctx.fillText(‘1*PI‘, 15, 78)
		ctx.fillText(‘1.5*PI‘, 83, 10)
		// 绘制圆心那个点
		ctx.beginPath()
		ctx.arc(100, 75, 2, 0, 2 * Math.PI)
		ctx.setFillStyle(‘lightgreen‘)
		ctx.fill()
		//绘制1.5*PI的那个点
		ctx.beginPath()
		ctx.arc(100, 25, 2, 0, 2 * Math.PI)
		ctx.setFillStyle(‘blue‘)
		ctx.fill()
		//绘制0的那个点
		ctx.beginPath()
		ctx.arc(150, 75, 2, 0, 2 * Math.PI)
		ctx.setFillStyle(‘red‘)
		ctx.fill()
		// 绘制黑线的弧度
		ctx.beginPath()
		ctx.arc(100, 75, 50, 0, 1.5 * Math.PI)
		ctx.setStrokeStyle(‘#333333‘)
		ctx.stroke()
		ctx.draw()
	}
})const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.setFontSize(20) ctx.fillText(‘Hello‘, 20, 20) ctx.fillText(‘MINA‘, 100, 100) ctx.draw()
	onLoad: function() {
		const ctx = wx.createCanvasContext(‘myCanvas‘)
		// 创建线性渐变
		const grd = ctx.createLinearGradient(0, 0, 200, 0)
		grd.addColorStop(0, ‘red‘)
		grd.addColorStop(1, ‘white‘)
		// 绘制图形
		ctx.setFillStyle(grd)
		ctx.fillRect(10, 10, 150, 80)
		ctx.draw()
	}	onLoad: function() {
		const ctx = wx.createCanvasContext(‘myCanvas‘)
		// 创建圆形渐变
		const grd = ctx.createCircularGradient(75, 50, 40)
		grd.addColorStop(0, ‘red‘)
		grd.addColorStop(1, ‘white‘)
		// 绘制图形
		ctx.setFillStyle(grd)
		ctx.fillRect(10, 10, 150, 100)
		ctx.draw()
	}const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.setFillStyle(‘red‘) ctx.setShadow(10, 50, 50, ‘blue‘) ctx.fillRect(10, 10, 150, 75) ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.strokeRect(10, 10, 25, 15) ctx.scale(2, 2) ctx.strokeRect(10, 10, 25, 15) ctx.scale(2, 2) ctx.strokeRect(10, 10, 25, 15) ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.strokeRect(100, 10, 150, 100) ctx.rotate(20 * Math.PI / 180) ctx.strokeRect(100, 10, 150, 100) ctx.rotate(20 * Math.PI / 180) ctx.strokeRect(100, 10, 150, 100) ctx.draw()
const ctx = wx.createCanvasContext(‘myCanvas‘) ctx.strokeRect(10, 10, 150, 100) ctx.translate(20, 20) ctx.strokeRect(10, 10, 150, 100) ctx.translate(20, 20) ctx.strokeRect(10, 10, 150, 100) ctx.draw()
onLoad: function() {
		const ctx = wx.createCanvasContext(‘myCanvas‘);
		//绘制线段
		ctx.moveTo(10, 10);
		ctx.lineTo(150, 10);
		ctx.stroke();
		//线条的端点样式:butt
		ctx.beginPath();
		ctx.setLineCap(‘butt‘);
		ctx.setLineWidth(10);
		ctx.moveTo(10, 30);
		ctx.lineTo(150, 30);
		ctx.stroke();
		//线条的端点样式:round
		ctx.beginPath();
		ctx.setLineCap(‘round‘);
		ctx.setLineWidth(10);
		ctx.moveTo(10, 50);
		ctx.lineTo(150, 50);
		ctx.stroke();
		//线条的端点样式:square
		ctx.beginPath();
		ctx.setLineCap(‘square‘);
		ctx.setLineWidth(10);
		ctx.moveTo(10, 70);
		ctx.lineTo(150, 70);
		ctx.stroke();
		ctx.draw();
	}const ctx = wx.createCanvasContext(‘myCanvas‘); //绘制线段 ctx.beginPath(); ctx.moveTo(10, 10); ctx.lineTo(100, 50); ctx.lineTo(10, 90); ctx.stroke(); ctx.beginPath(); ctx.setLineJoin(‘bevel‘); ctx.setLineWidth(10); ctx.moveTo(50, 10); ctx.lineTo(140, 50); ctx.lineTo(50, 90); ctx.stroke(); ctx.beginPath(); ctx.setLineJoin(‘round‘); ctx.setLineWidth(10); ctx.moveTo(90, 10); ctx.lineTo(180, 50); ctx.lineTo(90, 90); ctx.stroke(); ctx.beginPath(); ctx.setLineJoin(‘miter‘); ctx.setLineWidth(10); ctx.moveTo(130, 10); ctx.lineTo(220, 50); ctx.lineTo(130, 90); ctx.stroke(); ctx.draw(); }
	onLoad: function() {
		const ctx = wx.createCanvasContext(‘myCanvas‘);
		ctx.setFillStyle(‘red‘);
		ctx.fillRect(10, 10, 150, 100);
		ctx.setGlobalAlpha(0.2);
		ctx.setFillStyle(‘blue‘);
		ctx.fillRect(50, 50, 150, 100);
		ctx.setFillStyle(‘yellow‘);
		ctx.fillRect(100, 100, 150, 100);
		ctx.draw();
	}const ctx = wx.createCanvasContext(‘myCanvas‘) // save the default fill style ctx.save() ctx.setFillStyle(‘red‘) ctx.fillRect(10, 10, 150, 100) // restore to the previous saved state ctx.restore() ctx.fillRect(50, 50, 150, 100) ctx.draw()
原文:http://blog.csdn.net/gao_xu_520/article/details/71157926