线性渐变
绘制线性渐变,需要用到图形上下文的createLinearGradient
方法来创建gradient
对象,方法签名如下:
1 | var gradient = context.createLinearGradient(x0,y0,x1,y1); |
(x0,y0)为渐变起始点的坐标,(x1,y1)为渐变结束的的坐标。
接下来需要指定渐变的颜色,可以通过gradient
对象的addColorStop
方法来设定,方法签名如下:
1 | gradient.addColorStop(stop,color); |
其中stop为介于 0.0 与 1.0 之间的值,表示渐变中开始与结束之间的位置;color为绘制时使用的颜色。
最后需要做的就是将gradient
对象赋予给fillStyle
属性:
1 | context.fillStyle = gradient; |
绘制一个渐变色矩形:
1 | var canvas = document.getElementById("canvas"); |
显示效果:
径向渐变
径向渐变指的是沿着圆形的半径方向向外扩散的渐变方式。绘制径向渐变使用的是图形上下文的createRadialGradient
方法来创建gradient
对象,方法签名如下:
1 | var gradient = context.createRadialGradient(x0,y0,r0,x1,y1,r1); |
(x0,y0)为渐变的开始圆心坐标,r0为渐变开始圆的半径;(x1,y1)为渐变的结束圆心坐标,r1为渐变结束圆的半径。
剩余的操作和线性渐变一致,不再赘述。
这里绘制一个径向渐变的圆:
1 | var g = context.createRadialGradient(100,100,0,100,100,100); |
显示效果:
《HTML5与CSS3权威指南》读书笔记