• HTML5新特性,画布(Canvas)


    HTML5 <canvas> 标签用于绘制图像(通过脚本,通常是 JavaScript)。<canvas> 元素本身并没有绘制能力(它仅仅是图形的容器) ,你必须使用脚本来完成实际的绘图任务。

    getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。

    一、参考如下代码

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8"/>
    </head>
    <body>
    <h1>html5-坦克大战</h1>
    <!--坦克大战的战场-->
    <canvas id="tankMap" width="400px" height="300px" style="background-color:black"></canvas>
    <script type="text/javascript">
      //得到画布
      var canvas1 = document.getElementById("tankMap");
      
      //定义一个位置变量
      var heroX = 80;
      var heroY = 80;
      
      //getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
      var cxt = canvas1.getContext("2d");
      //设置颜色
      cxt.fillStyle="#BA9658";
      //左边的矩形
      cxt.fillRect(heroX,heroY,5,30);
      //右边的矩形
      cxt.fillRect(heroX+17,heroY,5,30);
      //画中间的矩形
      cxt.fillRect(heroX+6,heroY+5,10,20);
      //画出坦克的盖子
      cxt.fillStyle="#FEF26E";
      cxt.arc(heroX+11,heroY+15,5,0,360,true);
      cxt.fill();
      //画出炮筒
      cxt.strokeStyle="#FEF26E";
      cxt.lineWidth=1.5;
      cxt.beginPath();
      cxt.moveTo(heroX+11,heroY+15); // 定义线条开始坐标
      cxt.lineTo(heroX+11,heroY); // 定义线条结束坐标
      cxt.closePath();
      cxt.stroke();
    
      // 在画布上绘制 150x75 的矩形,从左上角开始 (200,2000)。
      cxt.fillStyle="#FF0000";
      cxt.fillRect(200,200,150,75);
    
      // 使用 "Arial" 字体在画布上绘制一个高 30px 的文字(空心):
      cxt.fillStyle="#FEF26E";
      cxt.font="30px Arial";
      cxt.strokeText("Hello World",30,30);
    </script>
    </body>
    </html>

    二、运行结果如下图

     三、HTML5 <canvas> 参考手册

    地址:https://www.runoob.com/tags/ref-canvas.html

    本文参考:

    https://www.cnblogs.com/top8/p/6203100.html

    https://www.runoob.com/tags/ref-canvas.html

  • 相关阅读:
    CentOS7 安装Docker最新稳定版
    C#采集解析log文件及CSV文件数据到DataTable
    RedHat/CentOS8使用Bash脚本查看Linux上的系统信息
    DataTable Select用法总结
    web开发
    minio 文件服务器
    在 Idea 中使用 Maven
    UGUI源码分析(零): 环境搭建
    高德地图的使用 vueamap+vue
    unity 模型 工作流
  • 原文地址:https://www.cnblogs.com/nayitian/p/14959089.html
Copyright © 2020-2023  润新知