• HTML5-canvas-基础篇


    <canvas>新元素

     <canvas> 元素用于图形的绘制,通过脚本 (通常是JavaScript)来完成.

    <canvas> 标签只是图形容器,您必须使用脚本来绘制图形。

    你可以通过多种方法使用Canva绘制路径,盒、圆、字符以及添加图像。

     

      注意: 默认情况下 <canvas> 元素没有边框和内容。

      画方

    <!--fillStyle是填充样式,如果不设置fillStyle属性,默认填充色为黑色,fillRect是画一个矩形,参数为X,Y,Width,Height-->
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8" name="author" content="赵慧娟">
            <title></title>
            <script src="Scripts/jquery-1.10.2.js"></script>
            <script type="text/javascript">
                $(function(){
                    var canvas=document.getElementById("myCanvas")
                    var ctx=canvas.getContext("2d");
                    ctx.fillStyle="deeppink";
                    ctx.fillRect(10,10,100,100);
             //ctx.moveTo(0,0);    //定义开始坐标
             //ctx.lineTo(100,100);  //定义结束坐标
             //ctx.stroke();      //绘制线条
                })
            </script>
        </head>
        <body>
            <canvas id="myCanvas" width="100" height="100"></canvas>
        </body>
    </html>

    运行结果:

      画圆

    <!--arc画圆,参数是X,Y,半径,起始角,结束角,顺时针/逆时针(可选)XY指的是圆点的距离-->
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8" name="author" content="赵慧娟">
            <title></title>
            <script src="Scripts/jquery-1.10.2.js"></script>
            <script type="text/javascript">
                $(function(){
                    var canvas=document.getElementById("myCanvas")
                    var ctx=canvas.getContext("2d");
                    ctx.fillStyle="deeppink";
                    ctx.arc(50,50,50,0,2*Math.PI);
                    ctx.stroke();
             //ctx.fillText("Hello World",10,50);  //绘制实心字体
             //ctx.strokeText("Hello World",10,50); //绘制空心字体
    })
    </script> <style type="text/css"> canvas{ border: 1px solid #000; } </style> </head> <body> <canvas id="myCanvas" width="100" height="100"></canvas> </body> </html>

    运行结果:

      渐变

      createLinearGradient(x,y,x1,y1) - 创建线条渐变

      createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变

    // 创建渐变
    var grd=ctx.createLinearGradient(0,0,200,0);
    grd.addColorStop(0,"red");
    grd.addColorStop(1,"blue");
     
    // 填充渐变
    ctx.fillStyle=grd;
    ctx.fillRect(10,10,150,80);

    运行结果:

      径向/圆渐变

    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
     
    // 创建渐变
    var grd=ctx.createRadialGradient(75,50,5,90,60,100);
    grd.addColorStop(0,"red");
    grd.addColorStop(1,"white");
     
    // 填充渐变
    ctx.fillStyle=grd;
    ctx.fillRect(10,10,150,80);

    运行结果:

    图像

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8" name="author" content="赵慧娟">
            <title></title>
            <script src="Scripts/jquery-1.10.2.js"></script>
            <style type="text/css">
                canvas{
                    border: 1px solid #000;
                }
                #flower{
                    border: 1px solid #000;
                    width: 100px;
                    height: 100px;
                }
            </style>
        </head>
        <body>
            <img src="img/a.ico" id="flower" />
            <canvas id="myCanvas" width="100" height="100"></canvas>
            <script type="text/javascript">
                $(function(){
                    var canvas=document.getElementById("myCanvas")
                    var ctx=canvas.getContext("2d");var img=document.getElementById("flower");
                    img.onload=function(){
                        ctx.drawImage(img,20,20,80,80);  //drawImage(对象,X,Y,W,H)
                    }
                })
            </script>
        </body>
    </html>

    运行结果:

    (右图为canvas图像)

  • 相关阅读:
    人事管理系统案例
    匹马行天下之思维决定高度篇——教你如何爱上“编程妹子”
    抽象类和接口详解
    Servlet教程详解
    Java匹马行天下之J2EE框架开发——Spring—>用IDEA开发Spring程序(01)
    Java匹马行天下之J2EE框架开发——Spring—>Spring框架知多少
    匹马行天下之思维决定高度篇——编程“价”更高
    编程自学网站分享——网络老师金旭亮(很不错哦,自学的建议看看)
    匹马行天下之思维决定高度篇——大学再努力,培训机构做兄弟
    怀念Galois
  • 原文地址:https://www.cnblogs.com/xiaonangua/p/canvas.html
Copyright © 2020-2023  润新知