2.canvas畫七巧板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <canvas id="canvas" width="1024" height="768" style="border:1px solid #aaa;display: block;margin: 50px auto;">

    </canvas>
    <script>
        //點對象數組
        var tangram = [
            {p:[{x:0,y:0},{x:800,y:0},{x:400,y:400}], color:"#caff67"},
            {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:"#f9f51c"},
			{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:"#f6ca29"}
        ]
        window.onload = function(){  //js事件網頁加載好就執行
            var canvas = document.getElementById("canvas");
            canvas.width = 800;
            canvas.height = 800;
            var context = canvas.getContext("2d");
            //使用context繪製
            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();

            cxt.strokeStyle = "black";
            cxt.lineWidth = 3;
            cxt.stroke();
        }
    </script>
</body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章