HTML5学习笔记-绘制渐变图形

绘制线性渐变

step1 创建渐变对象:
var gradient=cxt.createLinearGradient(x0,y0,x1,y1);
沿直线从(x0,y0)到(x1,y1)渐变;
step2 为渐变对象设置颜色,指明过渡方式:
gradient.addColorStop(0,'#fff');
gradient.addColorStop(1,'#000');
参数为偏移量和颜色,偏移量是0.0到1.0之间的数值,代表沿着渐变线渐变的距离有多远。
step3 在context上为填充样式或者描边样式设置渐变:
cxt.fillStyle=gradient;

 1 <h3>绘制线性渐变对象</h3>
 2 <!--canvas id="canvas" width="400" height="300" style="border:1px solid red" /-->
 3 <canvas id="canvas1" width="400" height="300" style="border:1px solid blue;">
 4 Your browser does not support the canvas element.
 5 </canvas>
 6 <script type="text/javascript">
 7 var c=document.getElementById('canvas1');
 8 var cxt=c.getContext("2d");
 9 var gradient=cxt.createLinearGradient(0,0,0,canvas1.height);
10 gradient.addColorStop(0,'transparent'); //可以设置颜色为alpha值
11 gradient.addColorStop(1,'#3af');
12 cxt.fillStyle=gradient;
13 cxt.fillRect(0,0,400,400);
14 </script>

绘制径向渐变

所谓放射渐变,指颜色介于两个指定圆之间的锥形区域平滑变化。放射渐变与线性渐变使用的颜色终止点
是一样的。使用createRadialGradient()方法。
createRadialGradient(x0,y0,r0,x1,y1,r1);开始圆的圆心(x0,y0),半径r0,结束圆的圆心(x1,y1),半径r1。

绘制径向渐变图形的步骤与绘制线性渐变的步骤相同。

 1 <h3>径向渐变对象</h3>
 2 <!--canvas id="canvas2" width="400" height="300" style="border:1px solid red" /-->
 3 <canvas id="canvas2" width="400" height="300" style="border:1px solid blue;">
 4 Your browser does not support the canvas element.
 5 </canvas>
 6 <script type="text/javascript">
 7 var c=document.getElementById('canvas2');
 8 var cxt=c.getContext("2d");
 9 var gradient=cxt.createRadialGradient(canvas2.width/2,canvas2.height/2,0,canvas2.width/2,canvas2.height/2,150);
10 gradient.addColorStop(0,'#fff'); 
11 gradient.addColorStop(1,'#000');
12 cxt.fillStyle=gradient;
13 cxt.fillRect(0,0,400,400);
14 </script>

效果如下:

 

posted @ 2016-07-14 09:48  云想默默  阅读(1478)  评论(0编辑  收藏  举报