请选择 进入手机版 | 继续访问电脑版

HTML5星空

HTML5星空 首页 HTML5教程 Canvas 查看内容

HTML5 Canvas渐变特效

2013-12-15 17:10| 发布者: admin| 查看: 1525| 评论: 0

摘要: 渐变是在网页设计中经常出现的一种特效。在Canvas中,我们可以通过canvasGradient为线条和填充使用颜色渐变。在CSS3中也有类似的特效,这里就不详细讲解了。创建canvasGradient对象时,可以使用createLinearGradient ...
渐变是在网页设计中经常出现的一种特效。在Canvas中,我们可以通过canvasGradient为线条和填充使用颜色渐变。在css3中也有类似的特效,这里就不详细讲解了。
创建canvasGradient对象时,可以使用createLinearGradient()和 createRadial-Gradient()这两个方法。前者创建线性颜色渐变,后者创建圆周颜色渐变。创建颜色渐变对象后,可以使用对象的 addColorStop()方法添加颜色中间值。

 createLinearGradient(x1,y1,x2,y2)表示从点(x1,y1)到点(x2,y2)的线性渐变。
 createRadialGradient(x1,y1,r1,x2,y2,r2)表示圆心为(x1,y1)、半径为r1的圆到圆心为(x2,y2)、半径为r2的圆的圆周渐变。
 addColorStop(position, color)为canvasGradient对象添加颜色,position为[0,1]区间的值,代表添加颜色的位置,color为添加的颜色(如#fff、rgba(0,0,0,1)
等)。

下面的代码演示了线性颜色渐变的使用方法:
var gradient = ctx.createLinearGradient(0, 0,500, 500); //建立一个gradient对象,
//其线性长度为500
gradient.addColorStop("0","magenta"); //在不同的点设定颜色
gradient.addColorStop(".25","blue");
gradient.addColorStop(".50","green");
gradient.addColorStop(".75","yellow");
gradient.addColorStop("1.0","red");
ctx.fillStyle = gradient; //将此渐变效果作为填充样式
ctx.fillRect (0,0,300,300); //填充一个矩形块
ctx.fillRect(250,300,300,500);

执行效果见图:



下面的代码演示了圆周颜色渐变的使用方法:

gradient = ctx.createRadialGradient(250,250,0,250,250,250);
gradient.addColorStop("0","magenta");
gradient.addColorStop(".25","blue");
gradient.addColorStop(".50","green");
gradient.addColorStop(".75","yellow");
gradient.addColorStop("1.0","red");
ctx.fillStyle = gradient;
ctx.fillRect(0,0,500,500);

执行效果见下图:




下面的代码演示了从原点偏移颜色渐变的使用方法:

gradient = ctx.createRadialGradient(10,10,10,250,250,250);
gradient.addColorStop("0","magenta");
gradient.addColorStop(".25","blue");
gradient.addColorStop(".50","green");
gradient.addColorStop(".75","yellow");
gradient.addColorStop("1.0","red");
ctx.fillStyle = gradient;
ctx.fillRect(0,0,500,500);

执行效果图如下:




鲜花

握手

雷人

路过

鸡蛋

相关阅读

快讯

     京ICP备14042305号

html5star team © 2012-2013 html5星空 Comsenz Inc.

GMT+8, 2019-12-11 10:35 , Processed in 0.097558 second(s), 29 queries .

返回顶部