zoukankan      html  css  js  c++  java
  • 跟KingDZ学HTML5之三 画布Canvas

    继续更新我们的教程,哈哈,个人觉得 ,这个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元素 

     <canvas id="fistcancas" width="300" height="300"></canvas>
    

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

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

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

        <canvas id="fistcancas" width="300" height="300">
            <img src="2.png" width="300" height="300" alt="error">
        </canvas>
        <canvas id="secondcancas" width="300" height="300">
            对不起,浏览器不支持此标签
        </canvas>
    

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

    3

        <canvas id="fistcancas" style="border:2px dotted red;" width="100" height="100">
            不支持此标签
        </canvas>
    

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

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

    <! doctype html>
    <html>
    <head>
    <script type="text/javascript">
            function draw() {
                var c = document.getElementById("firstcancas");
                var cxt = c.getContext("2d");
                cxt.fillStyle = "#00ff00";
                cxt.fillRect(0, 0, 150, 150);
            }
    </script>
    </head>
    <body>
        <canvas id="firstcancas"  width="100" height="100">
            浏览器不支持此标签
        </canvas>
        <input type="button" value="画图" onclick="draw();" />
    </body>
    </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。

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

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

        <script type="text/javascript">
            function draw() {
                var c = document.getElementById("firstcancas");
                var cxt = c.getContext("2d");
                //红色区域,及其坐标
                cxt.fillStyle = "rgb(240,0,0)";
                cxt.fillRect(50, 50, 160, 160);
                //在红色区域上面 添加一个灰色的区域,并且设置 透明度为 0.6
                cxt.fillStyle = "rgba(100, 100, 100, 0.6)";
                cxt.fillRect(30, 30, 200, 200);
                //设置在最外面有一个绿色的只有边框的矩形
                cxt.strokeStyle = "#00ff00";
                cxt.lineWidth = 5;   //设置边框的宽度为 5
                //最后去掉 这个图形的中心。
                cxt.strokeRect(30, 30, 200, 200);
                cxt.clearRect(80, 80, 100, 100);
            }
    </script>
    

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

    5

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

  • 相关阅读:
    MongoDB 创建账户
    MongoDB高可用集群配置方案
    学习CEGUI亟待解决问题一:文本控件的格式问题
    第一讲
    ERP初阶(三):MRP基本原理
    ERP初阶(四):MRP基本构成
    学习CEGUI亟待解决问题二:消息事件传递机制问题
    Groovy处理null对象为空字符串
    silverlight与CSLA的快速应用05安装CslaExtension
    silverlight与CSLA的快速应用08客户端的CSLA代码
  • 原文地址:https://www.cnblogs.com/zhaolizhe/p/6923549.html
Copyright © 2011-2022 走看看