百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>html5教程> 深入理解HTML5 Canvas标签的根本用途
分享文章到:

深入理解HTML5 Canvas标签的根本用途

发布时间:09/01 来源:未知 浏览: 关键词:
这篇文章介绍的内容是深入理解HTML5 Canvas标签的根本用途,有着必然的参照 价值,此刻分享给大家,有需要的伴侣可以参照 一下

根本用途

使用 <canvas> 标签在页面上创立画布元素,画布一旦创立,就可以使用Javascript供给的一套强大的Canvas API编写代码,在画布中绘制任企图形,乃至参加高级动画。

在Canvas中绘制图形,一样需要五步,顺次为:

1)创立画布

在HTML代码的body中,使用<canvas>标签创立画布元素。创立时,要为该元素定义id属性,由于Javascript需要按照该id来猎取画布元素。

画布的默许宽度为300px,高度为150px,可以通过<canvas>元素的width属性自定义其宽度,height属性自定义其高度。代码如下:

  1. <canvas
     
    id="canvas"
        width="300"
        height="300"
    >
    </canvas>

上述代码,在页面中创立了一个画布,其id为"canvas",宽度为300px,高为300px。

说明:

1、默许状况下,画布本身没有任何外不雅,只是一块透亮区域,什么也看不见,可以通过CSS来操纵,让其可见。跟其它HTML元素一样,也可以通过CSS来定义canvas元素的尺寸、增添边框、设定内边距、外边距等。并且,CSS属性的继承规则也一样适用,如在canvas内增加的文字,默许会继承canvas元素本身的字体属性。

需要特殊留意的是,画布的尺寸和CSS定义的尺寸是完全不一样的概念。画布的尺寸是由画布元素的width和height属性定义的,而CSS中定义的尺寸是画布元素在页面中显示的尺寸。假如两者定义的尺寸不雷同,则画布上的像素会主动缩放,以适合CSS中定义的尺寸。别的,画布中的坐标,也是按照画布的width和height属性定义的。

2、画布的尺寸一旦定义,就不克不及修改,除非重置画布。重置画布的width属性或height属性,都会清空整个画布,擦除当前途径,并重置所有的图形属性到初始状态。

3、由于<canvas>是HTML5中新增的元素,一些老阅读器(如IE8及以下版本)不支撑<canvas>元素。可以在<canvas>元素内部供给替换图片、或文本说明,为拜访者供给友好的提醒信息。如:

  1. <canvas id="canvas" width="300" height="300">您的阅读器不支撑canvas。</canvas>

2)猎取绘制上下文

此刻画布已经有了,要在画布上绘制图形,还需要一只画笔。猎取画笔的办法如下:

  1. var canvas = document.getElementById("canvas");
    var context = canvas.getContext("2d");

由于画笔是属于画布的,所以先要调取getElementById()办法获得画布的拜访权。然后,调取画布对象的getContext()办法来猎取画笔,这里的字符串参数"2d",用来定义画笔的品种,"2d"表示绘制二维图形的画笔。当然,还会有"3d",但当前还不支撑。

画笔在Canvas 中被称作“绘制上下文”,Canvas API根本上都是定义在“绘制上下文”对象上,而非<canvas>元素上。

3)定义绘制途径

Canvas中的所有根本图形,都是按照途径来绘制的。第一,调取beginPath()办法开端一条新的途径;然后,定义途径及子途径;最后,调取closePath()办法来关闭。代码如下:

  1. context.beginPath();
    context.rect(20, 40, 200, 80);
    context.closePath();

上述代码中,rect()办法绘制了一条矩形途径,该矩形途径的左上顶点坐标为x=20,y=40,矩形宽度为200px,长度为80px。

说明:Canvas的坐标系

默许状况下,Canvas 的坐标系以Canvas 元素的左上角为坐标原点(0, 0)。水平标的目的为x轴,并向右增长;垂直标的目的为y轴,并向下增长。如图 4?1所示:

Canvas的默认坐标系统图4-1 Canvas的默许坐标系统

画布上每一个点的坐标都直接映射到一个CSS像素上,点可以使用浮点数来指定坐标,但它不会主动转换为整型值。

需要留意的是,此时,所绘制的内容并不会马上显示出来。由于这里只是定义一条不成见的途径,并未在画布上绘制任何图形。稍后,可以调取stroke()或fill()办法,来施行绘制动作,使其可见。

4)设定图形属性

  1. context.strokeStyle = '#f00';  // 设定线条样式
    context.fillStyle = "#ccc";   // 设定填充样式

上述代码设定矩形途径的轮廓线条的色彩为红色(#f00),填充色彩为灰色(#ccc)。该步骤为可选,假如省略,则使用Canvas供给的默许属性画图。

5)绘制图形

Canvas默许供给两种绘制办法:stroke()办法和fill()办法。stroke()办法沿着途径的坐标点顺次绘制线条,fill()办法填充途径构成的闭合区域。

这两个办法都作用在当前途径的所有子途径上,并且都不更换当前途径,所以它们可以被同时调取。代码如下:

  1. context.stroke();
    context.fill();

假如存在多条途径,则每条途径都要离别调取stroke()办法或fill()办法,不然,该途径不会被绘制,该途径所定义的图形不会显示在画布中。

至此,在画布中绘制图形的历程就全部完成了,图形已经真正绘制到画布上了。当然,在实际利用中,最好将这些绘制历程封装在一个函数中,并在页面加载完成后,再调取绘制函数来绘制图形。本实例的完全代码如下:

  1. <canvas id="canvas" width="300" height="300"></canvas>
    <script src="jquery.js"></script>
    <script>
    $(function(){
       drawRect();
    });
    function drawRect() {
      var canvas  = document.getElementById("canvas");
      var context = canvas.getContext('2d');
         
      context.beginPath();
      context.rect(20, 40, 200, 80);
      context.closePath();
      context.strokeStyle = '#f00';
      context.fillStyle = "#ccc";
      context.stroke();
      context.fill();
    }
    </script>

在阅读器中的运转结果如图 4?2所示:

Canvas中绘制图形 图4-2 Canvas中绘制图形


相关引荐:

canvas 使用办法详解

Canvas的根本使用

HTML5 canvas画图根本使用办法

以上就是深入理解HTML5 Canvas标签的根本用途的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板