以下是使用 CanvasContext API 进行渐变绘制的基本示例:
1. 线性渐变(Linear Gradient):
- 创建线性渐变对象:createLinearGradient(x0, y0, x1, y1)
- 添加渐变色:addColorStop(stop, color),其中 stop 是表示渐变位置的值(0-1),color 是颜色值。
const ctx = wx.createCanvasContext('myCanvas');
// 创建线性渐变对象
const linearGradient = ctx.createLinearGradient(0, 0, 300, 0);
// 添加渐变色
linearGradient.addColorStop(0, 'red');
linearGradient.addColorStop(0.5, 'green');
linearGradient.addColorStop(1, 'blue');
// 使用渐变填充矩形
ctx.setFillStyle(linearGradient);
ctx.fillRect(10, 10, 280, 180);
// 绘制
ctx.draw();
2. 径向渐变(Radial Gradient):
- 创建径向渐变对象:createRadialGradient(x0, y0, r0, x1, y1, r1)
- 参数 (x0, y0, r0) 表示渐变起始圆的中心坐标和半径,(x1, y1, r1) 表示渐变结束圆的中心坐标和半径。
- 添加渐变色:同样使用 addColorStop(stop, color)。
const ctx = wx.createCanvasContext('myCanvas');
// 创建径向渐变对象
const radialGradient = ctx.createRadialGradient(150, 100, 0, 150, 100, 100);
// 添加渐变色
radialGradient.addColorStop(0, 'red');
radialGradient.addColorStop(0.5, 'green');
radialGradient.addColorStop(1, 'blue');
// 使用渐变填充矩形
ctx.setFillStyle(radialGradient);
ctx.fillRect(10, 10, 280, 180);
// 绘制
ctx.draw();
以上是使用微信小程序 Canvas 绘图实现渐变效果的基本示例。你可以根据实际需求调整坐标、颜色和渐变的形状等参数。
转载请注明出处:http://www.zyzy.cn/article/detail/969/微信小程序