自己写的代码 。颜色、大小有点区别

来源:2-2 绘制直线、多边形和七巧板

寒疏影

2015-06-01 14:57

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>七巧板绘制</title>

</head>


<body>

    <canvas id="canvas" style="border:1px solid grey; display:block; margin:100px auto;">

    </canvas>

    <script>

        var arr = [

            {

                p: [{

                    x: 0,

                    y: 0

                }, {

                    x: 400,

                    y: 0

                }, {

                    x: 200,

                    y: 200

                }],

                color: "red"

            },

            {

                p: [{

                    x: 0,

                    y: 0

                }, {

                    x: 200,

                    y: 200

                }, {

                    x: 0,

                    y: 400

                }],

                color: "blue"

            },

            {

                p: [{

                    x: 400,

                    y: 0

                }, {

                    x: 400,

                    y: 200

                }, {

                    x: 300,

                    y: 300

                }, {

                    x: 300,

                    y: 100

                }],

                color: "green"

            },

            {

                p: [{

                    x: 300,

                    y: 100

                }, {

                    x: 300,

                    y: 300

                }, {

                    x: 200,

                    y: 200

                }],

                color: "orange"

            },

            {

                p: [{

                    x: 200,

                    y: 200

                }, {

                    x: 300,

                    y: 300

                }, {

                    x: 200,

                    y: 400

                }, {

                    x: 100,

                    y: 300

                }],

                color: "yellow"

            },

            {

                p: [{

                    x: 100,

                    y: 300

                }, {

                    x: 200,

                    y: 400

                }, {

                    x: 0,

                    y: 400

                }],

                color: "purple"

            },

            {

                p: [{

                    x: 400,

                    y: 200

                }, {

                    x: 400,

                    y: 400

                }, {

                    x: 200,

                    y: 400

                }],

                color: "brown"

            }

        ]


        window.onload = function () {

            var canvas = document.getElementById("canvas");

            canvas.width = 400;

            canvas.height = 400;

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

            for (var i = 0; i < arr.length; i++)

                draw(arr[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回答

  • 狂奔的牛牛
    2015-12-15 21:51:45

    牛牛牛!

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

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

96746 学习 · 1000 问题

查看课程

相似问题