没找到老师的源码,自己抄了一套,大家看看吧

来源:2-1 创建canvas

qq_战胜自我_0

2015-05-20 15:48

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
  <canvas id="canvas" style="border:1px solid #ccc; margin:0 auto; display:block;">
    如果不支持canvas,则显示此消息
  </canvas>

  <script>

    var tangram = [
      { p: [{ x: 0, y: 0 }, { x: 800, y: 0 }, { x: 400, y: 400 }], color: "#cff67" },
      { p: [{ x: 0, y: 0 }, { x: 400, y: 400 }, { x: 0, y: 800 }], color: "#67becf" },
      { p: [{ x: 800, y: 0 }, { x: 800, y: 400 }, { x: 600, y: 600 }, { x: 600, y: 200 }], color: "#ef3d61" },
      { p: [{ x: 600, y: 200 }, { x: 600, y: 600 }, { x: 400, y: 400 }], color: "#f9f5la" },
      { p: [{ x: 400, y: 400 }, { x: 600, y: 600 }, { x: 400, y: 800 }, { x: 200, y: 600 }], color: "#a594c0" },
      { p: [{ x: 200, y: 600 }, { x: 400, y: 800 }, { x: 0, y: 800 }], color: "#fa8ecc" },
      { p: [{ x: 800, y: 400 }, { x: 800, y: 800 }, { x: 400, y: 800 }], color: "#f6ca69" } 
    ]



    window.onload = function () {
      
      var canvas = document.getElementById("canvas");      

      canvas.width = 800;
      canvas.height = 800;

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

      for (var i = 0; i < tangram.length; i++) {
        draw(tangram[i],context);
      }
       
    }

    function draw(piece,cxt) {
      cxt.beginPath();
      cxt.moveTo(piece.p[0].x, piece.p[0].y);

      for (var i = 1 ; i < piece.p.length; i++) {
        cxt.lineTo(piece.p[i].x, piece.p[i].y);
      }

        cxt.closePath();    

        cxt.fillStyle = piece.color;
        cxt.fill();
      
      
      
    }


  </script>
</body>
</html>


写回答 关注

1回答

  • 野猫1
    2016-01-05 15:57:06

    棒棒哒

炫丽的倒计时效果Canvas绘图与动画基础

学习HTML5中最激动人心的技术Canvas,彻底释放自己的创造力

96746 学习 · 1000 问题

查看课程

相似问题