HTML5入门

跟KingDZ学HTML5之三:画布Canvas

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

继续更新我们的教程,哈哈,个人觉得 ,这个HTML5 的官方 LOGO 怎么看,怎么像变形金刚。 神马关系~~~~~~~~~~~ Canvas 是HTML5中新出现的一个元素。就是可以通过 JS绘制图形。 目前浏览器对

继续更新我们的教程,哈哈,个人觉得 ,这个HTML5 的官方 LOGO  怎么看,怎么像变形金刚。

12

神马关系~~~~~~~~~~~

<Canvas> 是HTML5中新出现的一个元素。就是可以通过  JS绘制图形。

目前浏览器对 Canvas 的支持情况如下

IE FF Chrome Safari Opera IPhone Android
版本7.0以上 版本3.0以上 版本3.0以上 版本3.0以上 版本10.0以上 版本1.0以上 版本1.0以上

IE7 和  IE8  需要一个 第三方的 类库  ExplorerCanvas  支持   IE9 不需要  ,FF===Firefox。

画布(Canvas)是一个没有内容也没有边框的矩形区域。我们可以控制里面的每一个像素。

下面我们首先定义一个 Canvas元素 

XML/HTML Code复制内容到剪贴板
  1. <canvas id="fistcancas" width="300" height="300"></canvas>  

好了 ,这个就是最基本得一个  canvas 元素的定义方法了。

canvas 只有两个属性,width和height,这些属性可选并且可以通过JS或者css来控制。默认值是 width=300  height=150

当然考虑到,可能浏览器不支持,所以我们就采用前两节课的方法

XML/HTML Code复制内容到剪贴板
  1. <canvas id="fistcancas" width="300" height="300">  
  2.         <img src="2.png" width="300" height="300" alt="error">  
  3.     </canvas>  
  4.     <canvas id="secondcancas" width="300" height="300">  
  5.         对不起,浏览器不支持此标签  
  6.     </canvas>  

好了,我们继续吧。简单的创建完成之后,下面开始我们的一些常规的操作吧。当然,你可以给 canvas 添加一些  样式表的操作,如下面得图形。

3

XML/HTML Code复制内容到剪贴板
  1. <canvas id="fistcancas" style="border:2px dotted red;" width="100" height="100">  
  2.         不支持此标签  
  3.     </canvas>  

画布的初始化是空白的,什么都没有滴,我们要做的就是 画图,当然这个需要JS啦。

好了,开始吧,首先来一个最简单的,画一个100*100的正方形,填充色为绿色。

XML/HTML Code复制内容到剪贴板
  1. <! doctype html>  
  2. <html>  
  3. <head>  
  4. <script type="text/javascript">  
  5.         function draw() {  
  6.             var c = document.getElementById("firstcancas");  
  7.             var ccxt = c.getContext("2d");  
  8.             cxt.fillStyle = "#00ff00";  
  9.             cxt.fillRect(0, 0, 150, 150);  
  10.         }  
  11. </script>  
  12. </head>  
  13. <body>  
  14.     <canvas id="firstcancas"  width="100" height="100">  
  15.         浏览器不支持此标签  
  16.     </canvas>  
  17.     <input type="button" value="画图" onclick="draw();" />  
  18. </body>  
  19. </html>  

好了 ,这个的效果

4

下面,简单的说明一下上面的那个  draw 方法

var cxt = c.getContext("2d");

使用脚本画图首先需要渲染上下文(rendering context),

它可以通过canvas元素对象的getContext方法来获取,同时得到的还有一些画图需要调用的函数。

getContext() 接受一个用于描述其类型的值作为参数。也就是  后面的 “2d” 或者 “3d”

还有 ,请大家注意 这个地方的 2d 或者 3d[目前不支持]  一定要是小写的 ,大写的可是会发生错误的哦

cxt.fillStyle = "#00ff00"; 这个不用说了,肯定是填充颜色啊

通过 fillStyle 和 strokeStyle 属性可以轻松的设置矩形的填充和线条。

颜色值使用方法和 CSS 一样:十六进制数、rgb()、rgba() 和 hsla()( 若浏览器支持,如Firefox)。

通过 fillRect 可以绘制带填充的矩形。

使用 strokeRect 可以绘制只有边框没有填充的矩形。

如果想清除部分 canvas 可以使用 clearRect。

上述三个方法的参数相同:x, y, width, height。前两个参数设定 (x,y) 坐标,后两个参数设置矩形的高度和宽度。

下面我们尝试着做一些器奇怪的效果。

JavaScript Code复制内容到剪贴板
  1. <script type="text/javascript">  
  2.         function draw() {  
  3.             var c = document.getElementById("firstcancas");  
  4.             var cxt = c.getContext("2d");  
  5.             //红色区域,及其坐标  
  6.             cxt.fillStyle = "rgb(240,0,0)";  
  7.             cxt.fillRect(50, 50, 160, 160);  
  8.             //在红色区域上面 添加一个灰色的区域,并且设置 透明度为 0.6  
  9.             cxt.fillStyle = "rgba(100, 100, 100, 0.6)";  
  10.             cxt.fillRect(30, 30, 200, 200);  
  11.             //设置在最外面有一个绿色的只有边框的矩形  
  12.             cxt.strokeStyle = "#00ff00";  
  13.             cxt.lineWidth = 5;   //设置边框的宽度为 5  
  14.             //最后去掉 这个图形的中心。  
  15.             cxt.strokeRect(30, 30, 200, 200);  
  16.             cxt.clearRect(80, 80, 100, 100);  
  17.         }  
  18. </script>  

好了,说明很详细了,效果如下

5

 

好了,这节课程就到此结束了,欢迎大家关注 俺,期待大家点一下推荐,哈哈,谢谢了。

 

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

网友点评