zoukankan      html  css  js  c++  java
  • HTML 5 画布(canvas)

    canvas 元素使用 JavaScript 在网页上绘制图像,本身是没有绘图能力。

    canvas 是一个矩形区域,可以控制其每一像素。

    canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

    下面来做几个示例:

    1、填充画布

    <canvas id="myCanvas" width="200" height="100" style="border:1px solid red;"></canvas>
    <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    cxt.fillStyle="#ccc";
    cxt.fillRect(5,10,150,60); //x,y,x,y
    </script>

    执行如下:

    2、获取坐标
    <script type="text/javascript">
     function cnvs_getCoordinates(e){
       x=e.clientX;
       y=e.clientY;
       document.getElementById("xycoordinates").innerHTML="Coordinates: (" + x + "," + y + ")"; }
     function cnvs_clearCoordinates(){
       document.getElementById("xycoordinates").innerHTML="";}
    </script>

    <div id="coordiv" style="float:left;199px;height:99px;border:1px solid #c3c3c3" onmousemove="cnvs_getCoordinates(event)" onmouseout="cnvs_clearCoordinates()"></div>
    <div id="xycoordinates"></div>

    执行如下:

    3、绘制线条、图形

     1绘制正方形如下:
    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
     您的浏览器不支持 canvas 标签.
    </canvas>

    <script type="text/javascript">

    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    cxt.moveTo(10,10); //x,y 起点
    cxt.lineTo(10,50); //x,y
    cxt.lineTo(50,50); //x,y
    cxt.lineTo(50,10); //x,y
    cxt.lineTo(10,10); //x,y
    cxt.stroke();
    </script>

     执行如下

    2绘制圆形如下:

    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
    你的浏览器不支持canvas
    </canvas>

    <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    cxt.fillStyle="#ccc";
    cxt.beginPath();
    cxt.arc(20,20,10,0,Math.PI*2,true);
    cxt.closePath();
    cxt.fill();
    </script>

    执行如下:

    4、绘制渐变

    <canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
    您的浏览器不支持 canvas 标签.
    </canvas>

    <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    var grd=cxt.createLinearGradient(0,0,175,50);
    grd.addColorStop(0,"#000000"); //黑
    grd.addColorStop(1,"#FFFFFF"); //白
    cxt.fillStyle=grd;
    cxt.fillRect(5,10,175,50);//x,y,x,y
    </script>

    执行如下:

    5、图片

    <canvas id="myCanvas" width="300" height="200" style="border:1px solid #c3c3c3;">
    您的浏览器不支持 canvas 标签.
    </canvas>

    <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var cxt=c.getContext("2d");
    var img=new Image()
    img.src="aa.png"
    cxt.drawImage(img,10,20); //x,y
    </script>

     执行如下:

  • 相关阅读:
    Nginx 变量漫谈
    nginx 常见参数以及重定向参数配置
    Nginx proxy_pass配置
    [效果不错] nginx 高并发参数配置及linux内核参数优化,完整的内核优化设置。PHP-FPM高负载解决办法。
    网页 大文件上传解决方案(500M以上)
    VUE 大文件上传解决方案(500M以上)
    JavaScript 大文件上传解决方案(500M以上)
    JS 大文件上传解决方案(500M以上)
    C#.NET 大文件上传解决方案(500M以上)
    ASP.NET 大文件上传解决方案(500M以上)
  • 原文地址:https://www.cnblogs.com/LoveSuk/p/5288368.html
Copyright © 2011-2022 走看看