1、定义一个canvas。
<view> <canvas canvas-id="miCanvas"></canvas> </view>
2、js生成过程。
const ctx = wx.createCanvasContext('miCanvas') //1、先绘制一个完整的白色实体圆 ctx.arc(100, 75, 50, 0, 2 * Math.PI); ctx.setFillStyle('#FFFFFF'); ctx.fill(); ctx.beginPath(); //arc(x,y,r,sAngle,eAngle,counterclockwise); //x 圆的中心的 x 坐标。 //y 圆的中心的 y 坐标。 //r 圆的半径。 //sAngle 起始角,以弧度计。(弧的圆形的三点钟位置是 0 度)。 //eAngle 结束角,以弧度计。 //counterclockwise 可选。规定应该逆时针还是顺时针绘图。False = 顺时针,true = 逆时针。 ctx.arc(100, 75, 50, Math.PI * 1.5, Math.PI * 0.5, false); ctx.setFillStyle('#000000') ctx.fill(); //3、绘制一黑一白两个半圆 ctx.fillStyle = "white"; ctx.beginPath(); ctx.arc(100, 50, 25, 0, Math.PI * 2); ctx.fill(); ctx.fillStyle = "black"; ctx.beginPath(); ctx.arc(100, 100, 25, 0, Math.PI * 2); ctx.fill(); //4、绘制两个小圆 ctx.fillStyle = "black"; ctx.beginPath(); ctx.arc(100, 50, 10, 0, Math.PI * 2); ctx.fill(); ctx.fillStyle = "white"; ctx.beginPath(); ctx.arc(100, 100, 10, 0, Math.PI * 2); ctx.fill(); // 设置文字 ctx.fillStyle = "black"; ctx.font = "20px Arial"; ctx.fillText("离", 90, 20); ctx.fillText("坎", 90, 150); ctx.fillText("震", 25, 85); ctx.fillText("兑", 155, 85); ctx.draw();
3、可以通过增加animation,实现旋转。