本文共 2826 字,大约阅读时间需要 9 分钟。
createLinearGradient() 方法创建线性的渐变对象。
渐变可用于填充矩形、圆形、线条、文本等等。
提示:请使用该对象作为 或 属性的值。
提示:请使用 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。
JavaScript 语法: | context.createLinearGradient(x0,y0,x1,y1); |
---|
参数 | 描述 |
---|---|
x0 | 渐变开始点的 x 坐标 |
y0 | 渐变开始点的 y 坐标 |
x1 | 渐变结束点的 x 坐标 |
y1 | 渐变结束点的 y 坐标 |
createRadialGradient() 方法创建放射状/圆形渐变对象。
渐变可用于填充矩形、圆形、线条、文本等等。
提示:请使用该对象作为 或 属性的值。
提示:请使用 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。
JavaScript 语法: | context.createRadialGradient(x0,y0,r0,x1,y1,r1); |
---|
参数 | 描述 |
---|---|
x0 | 渐变的开始圆的 x 坐标 |
y0 | 渐变的开始圆的 y 坐标 |
r0 | 开始圆的半径 |
x1 | 渐变的结束圆的 x 坐标 |
y1 | 渐变的结束圆的 y 坐标 |
r1 | 结束圆的半径 |
绘制一个矩形,并用放射状/圆形渐变进行填充:
addColorStop() 方法规定渐变对象中的颜色和位置。
addColorStop() 方法与 或 一起使用。
注意:您可以多次调用 addColorStop() 方法来改变渐变。如果您不对渐变对象使用该方法,那么渐变将不可见。为了获得可见的渐变,您需要创建至少一个色标。
JavaScript 语法: | gradient.addColorStop(stop,color); |
---|
参数 | 描述 |
---|---|
stop | 介于 0.0 与 1.0 之间的值,表示渐变中开始与结束之间的位置。 |
color | 在 stop 位置显示的 。 |
通过多个 addColorStop() 方法来定义渐变:
JavaScript:
我们来看一个具体的例子:
画完以后是这个结果:
代码中的各个定义也很清楚,因为(0, 0, 0, 140)指定了一条垂直的线,所以最终效果是垂直的进行渐变,这个效果在各种浏览器中应该都是一样的。我们以前说到过,画矩形有个简便的fillRect
方法,这个方法是rect方法和fill方法的组合,非常方便。这里之所以没有采用,是因为貌似在低版本的Safari下有问题(无视渐变的fillStyle,只用默认的颜色),但在最新(现在是5.2)版本下尝试过没问题了,估计很早就修复了,也就放心用吧。 有了上面的基础,这个就非常简单了,只需要修改一句话就好了:
实际的效果可想而知,如图所示。
有了垂直方向和水平方向,也就一个倾斜的可以玩玩了,和上面一样,只是指定一下方向就可以了:
还需要进一步说明么?如图所示。
这次的三个图。转自菜鸟教程,