欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

微信小程序基于canvas渐变实现的彩虹效果示例

程序员文章站 2023-11-08 15:14:16
本文实例讲述了微信小程序基于canvas渐变实现的彩虹效果。分享给大家供大家参考,具体如下: 微信小程序提供了两种渐变的方式:     c...

本文实例讲述了微信小程序基于canvas渐变实现的彩虹效果。分享给大家供大家参考,具体如下:

微信小程序提供了两种渐变的方式:

    createlineargradient(x,y,x1,y1)创建一个线性的渐变。

        x,y           起点坐标

        x1,y1        终点坐标

    createcirculargradient(x,y,r)创建一个从圆心开始的渐变。

        x,y            圆心坐标

        r                 半径

创建了渐变对象之后,必须添加两个或者两个以上的渐变点;

addcolorstop(position, color)方法用于指定颜色渐变点的位置和颜色,位置必须位于0到1之间。

一般用setfillstyle()来设置渐变,然后进行画图描述。

使用 createlineargradient()

const ctx = wx.createcanvascontext('mycanvas')
// create linear gradient
const grd = ctx.createlineargradient(0,120, 120, 0)
grd.addcolorstop(0, '#ffff00')
grd.addcolorstop(1, '#ff0000')
// fill with gradient
ctx.setfillstyle(grd);//将渐变色渲染入正方形
ctx.fillrect(20, 20, 120, 120);//起点坐标为(20,20),长宽都为120px的正方形
ctx.draw();

微信小程序基于canvas渐变实现的彩虹效果示例

使用 createcirculargradient()

const ctx = wx.createcanvascontext('mycanvas')
// create circular gradient
const grd = ctx.createcirculargradient(170, 170, 150);
grd.addcolorstop(0.79, '#fff')
grd.addcolorstop(0.81, '#8b00ff')
grd.addcolorstop(0.83, '#0000ff')
grd.addcolorstop(0.85, '#00ffff')
grd.addcolorstop(0.87, '#00ff00')
grd.addcolorstop(0.89, '#ffff00')
grd.addcolorstop(0.93, '#ff7f00')
grd.addcolorstop(0.95, '#ff0000')
grd.addcolorstop(1, '#fff')
// fill with gradient
ctx.setfillstyle(grd)//将渐变色渲染入矩形
ctx.fillrect(20, 20, 300,120)//起点坐标为(20,20),长300px宽120px的矩形
ctx.draw()

微信小程序基于canvas渐变实现的彩虹效果示例

补充:addcolorstop的position为渐变点的位置,该位置是颜色设置的最中心处。

该文如有描述不当,烦请各位道友指摘。

希望本文所述对大家微信小程序开发有所帮助。