HTML canvas addColorStop() 、createLinearGradient() 、createRadialGradient() 方法
来源:互联网 发布:c语言心形表白源代码 编辑:程序博客网 时间:2024/06/04 19:17
HTML canvas createLinearGradient() 方法
定义和用法
createLinearGradient() 方法创建线性的渐变对象。
渐变可用于填充矩形、圆形、线条、文本等等。
提示:请使用该对象作为 strokeStyle 或 fillStyle 属性的值。
提示:请使用 addColorStop() 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。
参数值
HTML canvas createRadialGradient() 方法
定义和用法
createRadialGradient() 方法创建放射状/圆形渐变对象。
渐变可用于填充矩形、圆形、线条、文本等等。
提示:请使用该对象作为 strokeStyle 或 fillStyle 属性的值。
提示:请使用 addColorStop() 方法规定不同的颜色,以及在 gradient 对象中的何处定位颜色。
参数值
实例
绘制一个矩形,并用放射状/圆形渐变进行填充:
var ctx=c.getContext("2d");
var grd=ctx.createRadialGradient(75,50,5,90,60,100);
grd.addColorStop(0,"red");
grd.addColorStop(1,"white");
// Fill with gradient
ctx.fillStyle=grd;
ctx.fillRect(10,10,150,100);
HTML canvas addColorStop() 方法
定义和用法
addColorStop() 方法规定渐变对象中的颜色和位置。
addColorStop() 方法与 createLinearGradient() 或 createRadialGradient() 一起使用。
注意:您可以多次调用 addColorStop() 方法来改变渐变。如果您不对渐变对象使用该方法,那么渐变将不可见。为了获得可见的渐变,您需要创建至少一个色标。
参数值
实例
通过多个 addColorStop() 方法来定义渐变:
JavaScript:
var ctx=c.getContext("2d");
var grd=ctx.createLinearGradient(0,0,170,0);
grd.addColorStop(0,"black");
grd.addColorStop("0.3","magenta");
grd.addColorStop("0.5","blue");
grd.addColorStop("0.6","green");
grd.addColorStop("0.8","yellow");
grd.addColorStop(1,"red");
ctx.fillStyle=grd;
ctx.fillRect(20,20,150,100);
纵方向的线性渐变
我们来看一个具体的例子:
画完以后是这个结果:
代码中的各个定义也很清楚,因为(0, 0, 0, 140)指定了一条垂直的线,所以最终效果是垂直的进行渐变,这个效果在各种浏览器中应该都是一样的。我们以前说到过,画矩形有个简便的fillRect
方法,这个方法是rect方法和fill方法的组合,非常方便。这里之所以没有采用,是因为貌似在低版本的Safari下有问题(无视渐变的fillStyle,只用默认的颜色),但在最新(现在是5.2)版本下尝试过没问题了,估计很早就修复了,也就放心用吧。
水平方向的线性渐变
有了上面的基础,这个就非常简单了,只需要修改一句话就好了:
实际的效果可想而知,如图所示。
倾斜的线性渐变
有了垂直方向和水平方向,也就一个倾斜的可以玩玩了,和上面一样,只是指定一下方向就可以了:
还需要进一步说明么?如图所示。
这次的三个图可以在这里看到。
转自菜鸟教程,http://eyehere.net/2012/html5-canvas-linear-gradient/
- HTML canvas addColorStop() 、createLinearGradient() 、createRadialGradient() 方法
- HTML canvas createLinearGradient() 方法
- HTML5 canvas createPattern() 方法,createLinearGradient()方法
- canvas之createRadialGradient
- canvas---canvas常用方法,绘制直线,矩形,文本,画图,曲线,createLinearGradient,translate,stroke,fillText
- Canvas径向渐变createRadialGradient的各种取值研究
- canvas画柱状图及createLinearGradient颜色渐变的效果
- HTML 5 Canvas常用属性和方法
- html 中canvas图片放大方法
- Canvas方法
- haXe -- Html canvas 应用
- HTML 5 Canvas
- HTML Canvas 绘制五角星
- HTML Canvas 渐变 gradation
- HTML 5 Canvas
- HTML 5 Canvas
- HTML 5 Canvas
- Lesson06:HTML 5 Canvas
- HttpURLConnection实现文件下载
- ios objective-c 调swift方法
- HDU Clarke and points
- 深入探讨:linux中遍历文件夹下的所有文件
- 左右连接中where和and的区别
- HTML canvas addColorStop() 、createLinearGradient() 、createRadialGradient() 方法
- k-近邻法
- OE中的bitbake使用
- Linux脚本小程序 时钟
- 恢复二叉搜索树
- NBUT 1674 math happy
- 深入理解Arrays.sort()
- php中mysql入门
- POJ 3070 Fibonacci(矩阵快速幂)