运行不显示图形,只显示空白的800x800的面板

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

DianciBO

2016-01-31 12:35

<body>

<canvas id="canvas" style="border:1px solid #aaa; display:block; margin:50px auto;">当前浏览器不支持Canvas,请更换浏览器再试。</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:"#f9f51a"},

{p:[{x:400,y:400},{x:600,y:600},{x:400,y:800}],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(){

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.colsePath();

cxt.fillStyle=piece.color;

cxt.fill();

}

</script>

</body>

写回答 关注

2回答

  • lxhcool
    2016-02-01 19:18:57

    我的没问题啊,你的我也没看出来

    <!doctype html>

    <html>

     <head>

      <meta charset="UTF-8">

      <meta name="Generator" content="EditPlus®">

      <meta name="Author" content="">

      <meta name="Keywords" content="">

      <meta name="Description" content="">

      <title>七巧板</title>

     </head>

     <body>

    <canvas id="canvas" style="border:1px solid #aaa; display:block; margin:50px auto;">

    当前浏览器不支持Canvas,请更换浏览器后再试

    </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:"#f9f51a"},

    {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(){

    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,context){


    context.beginPath();

    context.moveTo(piece.p[0].x,piece.p[0].y);

    for(var i=1; i<piece.p.length; i++)

    context.lineTo(piece.p[i].x,piece.p[i].y);

    context.closePath();


    context.fillStyle=piece.color;

    context.fill();

    }

    </script>

     </body>

    </html>


  • DianciBO
    2016-01-31 14:11:10

    拼写错误。。

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

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

96776 学习 · 1000 问题

查看课程

相似问题