HTML5入门

跟KingDZ学HTML5之六:Canvas特效-阴影和渐变

字号+ 作者: 来源: 2014-11-16 20:49 我要评论( )

我们首先看一下,如何实现一个阴影效果,呵呵,看效果吧 好了 ,先给大家展示一下代码,在说明一下。 XML/HTML Code 复制内容到剪贴板 !doctypehtml html head script type = text/javascript functio

我们首先看一下,如何实现一个阴影效果,呵呵,看效果吧

1

好了 ,先给大家展示一下代码,在说明一下。

XML/HTML Code复制内容到剪贴板
  1. <! doctype html>  
  2. <html>  
  3. <head>  
  4.     <script type="text/javascript">  
  5.         function draw() {  
  6.             var c = document.getElementById("mycanvas");  
  7.             var ccxt = c.getContext("2d");  
  8.             cxt.shadowOffsetX = 5;  
  9.             cxt.shadowOffsetY = 5;  
  10.             cxt.shadowBlur = 4;  
  11.             cxt.shadowColor = "rgba(255,0,0,0.5)";  
  12.             cxt.fillStyle = "orange";  
  13.             cxt.arc(50, 50, 50, 0, Math.PI * 2, true);  
  14.             cxt.fill();  
  15.         }  
  16.     </script>  
  17. </head>  
  18. <body>  
  19.      <canvas id="mycanvas" width="200" height="200">不支持此标签 KingDZ原创 http://www.cnblogs.com/hihell</canvas>  
  20.      <input type="button" value="画图" onclick="draw();" />  
  21. <body>  
  22. </html>  

上面的结果注意点

  • shadowColor:阴影颜色。其值和 CSS 颜色值一致。 【之前的课程我已经说明过了】
  • shadowBlur:设置阴影模糊程度。此值越大,阴影越模糊。
  • shadowOffsetX 和 shadowOffsetY:阴影的 x 和 y 偏移量,单位是像素。
颜色渐变

颜色渐变的几个重要属性。

createLinearGradient 和 createRadialGradient。

前者创建线性颜色渐变,后者创建圆形颜色渐变。创建颜色渐变对象后,可以使用对象的 addColorStop 方法添加颜色中间值。

好了,还是用例子说明吧。

JavaScript Code复制内容到剪贴板
  1. createLinearGradient(x1,y1,x2,y2)   //(x1,y1)渐变的起点  (x2,y2)渐变的终点   
  2. createRadialGradient(x1,y1,r1,x2,y2,r2)   //   前面是一个 原点为 (x1,y1) 半径为  r1的点,后面的那个是以(x2,y2) 为原点,r2为半径的点。  

addColorStop(position, color)//这个方法的第一个参数,就是位置,取值范围  0---1.0   color 则必须是一个 CSS  颜色值

下面我们实现一个线性渐变

1 

JavaScript Code复制内容到剪贴板
  1. function draw() {  
  2.             var c = document.getElementById("mycanvas");  
  3.             var cxt = c.getContext("2d");  
  4.             var lineargradient = cxt.createLinearGradient(0, 0, 200, 0);  
  5.             lineargradient.addColorStop(0, 'red');  
  6.             lineargradient.addColorStop(1, 'white');  
  7.             cxt.fillStyle = lineargradient;  
  8.             cxt.fillRect(0, 0, 200, 200);  
  9.         }  

好了,一个简单的渐变就做好了。

1

JavaScript Code复制内容到剪贴板
  1. function draw() {  
  2.         var c = document.getElementById("mycanvas");  
  3.         var cxt = c.getContext("2d");  
  4.         var rad = cxt.createRadialGradient(70, 70, 70, 40, 40, 10);  
  5.         rad.addColorStop(0, "#fff");  
  6.         rad.addColorStop(0.7, "#333")  
  7.         rad.addColorStop(1, "#000");  
  8.         cxt.fillStyle = rad;  
  9.         cxt.fillRect(0, 0, 200, 200);  
  10.     }  

OK,搞定这两种渐变方式了。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 盘点HTML5标签使用的常见误区

    盘点HTML5标签使用的常见误区

    2014-11-16 20:49

  • 跟KingDZ学HTML5之十三:HTML5颜色选择器

    跟KingDZ学HTML5之十三:HTML5颜色选择器

    2014-11-16 20:49

  • 跟KingDZ学HTML5之十二:Form表单元素新增属性

    跟KingDZ学HTML5之十二:Form表单元素新增属性

    2014-11-16 20:49

  • 跟KingDZ学HTML5之十一:表单新元素

    跟KingDZ学HTML5之十一:表单新元素

    2014-11-16 20:49

网友点评