最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

HTML5每日一练之Canvas标签的应用-绘制矩形-H5教程

来源:http://erdangjiade.com/topic/133814.html H5程序员 2017-10-26 09:09浏览(92)

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

今天教大家如何在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的方式来理解。
把绘制的图形看成p的话,CSS的border就是stroke,CSS的background就是fill,当这两个不存在的时候,canvas中就什么都没有,就好比一个空白透明的p。


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


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


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


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

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


案例
  • <!DOCTYPE HTML>
  • <html>
  • <head>
  • <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  • <title>HTML5每日一练之Canvas标签的应用-绘制矩形</title>
  • <script language="javascript" type="text/javascript">
  • window.onload = function()
  • {
  • var canvas = $.getId("W3Cfuns_canvas")
  • var content = canvas.getContext("2d");//取得图形上下文 graphics context

  • content.fillStyle = "#eeeeff";//填充canvas的背景颜色
  • content.fillRect(0, 0, 400, 300);//参数分别表示 x轴,y轴,宽度,高度
  • content.lineWidth = 1;//边框宽度

  • content.strokeStyle = "#00f";//边框颜色
  • content.strokeRect(50,50,100,100);//边框坐标及大小,试试这个后面的这个代码您就明白了content.strokeRect(50,50,150,150);

  • content.fillStyle = "#f00";//矩形填充颜色
  • content.fillRect(50,50,100,100);//矩形坐标及大小

  • }

  • var $ =
  • {
  • getId:function(_id)
  • {
  • return document.getElementById(_id);
  • }
  • }
  • </script>
  • </head>

  • <body>
  • <canvas id="W3Cfuns_canvas" width="400" height="300"></canvas>
  • </body>
  • </html>



评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2