UDN-企业互联网技术人气社区

板块导航

浏览  : 969
回复  : 2

[HTML5] HTML5之Canvas标签的应用-绘制矩形

[复制链接]
友美C_cup的头像 楼主
发表于 2015-7-11 00:37:10 | 显示全部楼层 |阅读模式
    今天教大家如何在canvas上绘制矩形,当你学会后,可以再举一反三的做一下练习,然后回帖,有什么不会的地方,大家都会热心地帮助你指导,当我们一起进步。

    绘制矩形的步骤:

    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.                         content.fillStyle = "#eeeeff";//填充canvas的背景颜色
  12.                         content.fillRect(0, 0, 400, 300);//参数分别表示 x轴,y轴,宽度,高度
  13.                         content.lineWidth = 1;//边框宽度
  14.                                 
  15.                         content.strokeStyle = "#00f";//边框颜色
  16.                         content.strokeRect(50,50,100,100);//边框坐标及大小,试试这个后面的这个代码您就明白了content.strokeRect(50,50,150,150);

  17.                         content.fillStyle = "#f00";//矩形填充颜色
  18.                         content.fillRect(50,50,100,100);//矩形坐标及大小
  19.                                 
  20.                 }
  21.                         
  22.                 var $ =
  23.                 {
  24.                         getId:function(_id)
  25.                         {
  26.                                 return document.getElementById(_id);
  27.                         }
  28.                 }
  29.         </script>
  30.     </head>
  31.    
  32.     <body>
  33.             <canvas id="W3Cfuns_canvas" width="400" height="300"></canvas>
  34.     </body>
  35. </html>
复制代码






拓展阅读:


相关帖子

发表于 2015-9-17 15:23:37 | 显示全部楼层
无论是不是沙发都得回复下
使用道具 举报

回复

发表于 2015-9-17 15:23:37 | 显示全部楼层
LZ敢整点更有创意的不?兄弟们等着围观捏~
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部