HTML5教程-用Canvas标签绘制矩形

HTML5教程-用Canvas标签绘制矩形

本文教大家如何在canvas上绘制矩形,当你学会后,可以再举一反三的做一下练习。

注:本节内容,需要您有JS基础才能更好地理解。

绘制矩形的步骤:

1、在页面上创建一个canvas标签

首先在页面上建立一个canvas标签,因为我们所有的操作都要在canvas元素上完成。

2、使用js取得canvas元素

由于需要调用canvas给我们提供的对象方法来进行绘制图形,所以第二部要使用document.getElementById等方法取得canvas对象。

3、取得上下文

进行图形绘制时,需要用到图形上下文(graphics context),它是一个封装了很多绘图功能的对象。需要使用canvas对象的getContext方法来获得图形上下文graphics context。在draw函数中,将参数设置为"2D"。

注:您可能会想,“那可不可以把它设置为3D或者4D了呢?”,答案是,绝对不行。

 4、填充绘制边框

使用canvas元素绘制图形的时候,有两种方式——填充(fill)与绘制边框(stroke)。填充指的是填满图形内部;绘制边框是指不填满图形的内部,只绘制图形的外框。Canvas元素结合这两种方式来绘制图形。

如果到这里您还不理解的话,咱们使用CSS的方式来理解。

把绘制的图形看成div的话,CSS的border就是stroke,CSS的background就是fill,当这两个不存在的时候,canvas中就什么都没有,就好比一个空白透明的div。

5、设定绘图样式

再进行图形绘制的时候,首先要设定好绘图的样式(style),然后调用相关方法进行图形绘制。

6、指定线宽

使用canvas对象提供给我们的lineWidth属性设置图形边框的宽度,在绘制图形的时候,任何直线都可以通过lineWidth属性来指定直线的宽度。

7、指定颜色值

我们分别通过fillStyle属性和strokeStyle属性来制定颜色,它与我们在CSS中设置颜色一样,可以使用“red”、“blue”或者“#ff0000”这种十六进制的颜色值,也可以通过rgb(红色值,绿色值,蓝色值)和rgba(红色值,绿色值,蓝色值,透明度)来指定颜色。

8、绘制矩形

分别使用fillRect方法和strokeRect方法来填充矩形和绘制矩形的边框。

我们只要通过以上步骤,就可以绘制简单的图形了。

案例

  
  
  1. <!DOCTYPE HTML> 
  2. <html> 
  3.     <head> 
  4.         <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
  5.         <title>HTML5每日一练之Canvas标签的应用-绘制矩形</title> 
  6.         <script language="javascript" type="text/javascript"> 
  7.                 window.onload = function() 
  8.                 { 
  9.                         var canvas = $.getId("W3Cfuns_canvas") 
  10.                         var content = canvas.getContext("2d");//取得图形上下文 graphics context 
  11.  
  12.                         content.fillStyle = "#eeeeff";//填充canvas的背景颜色 
  13.                         content.fillRect(0, 0, 400, 300);//参数分别表示 x轴,y轴,宽度,高度 
  14.                         content.lineWidth = 1;//边框宽度 
  15.                                  
  16.                         content.strokeStyle = "#00f";//边框颜色 
  17.                         content.strokeRect(50,50,100,100);//边框坐标及大小,试试这个后面的这个代码您就明白了content.strokeRect(50,50,150,150); 
  18.  
  19.                         content.fillStyle = "#f00";//矩形填充颜色 
  20.                         content.fillRect(50,50,100,100);//矩形坐标及大小 
  21.                                  
  22.                 } 
  23.                          
  24.                 var $ = 
  25.                 { 
  26.                         getId:function(_id) 
  27.                         { 
  28.                                 return document.getElementById(_id); 
  29.                         } 
  30.                 } 
  31.         </script> 
  32.     </head> 
  33.      
  34.     <body> 
  35.             <canvas id="W3Cfuns_canvas" width="400" height="300"></canvas> 
  36.     </body> 
  37. </html> 

运行结果如下图:

本文原地址:http://www.sitejs.cn/sitejs-12737-1.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值