为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我这画出来只有四块呢

<script>
   var tangram=[
       {p:[{x:0,y:0},{x:300,y:0},{x:150,y:150}],color:"#caff67"},
       {p:[{x:0,y:0},{x:150,y:150},{x:0,y:300}],color:"#67becf"},
       {p:[{x:300,y:0},{x:300,y:150},{x:225,y:225},{x:225,y:75}],color:"#ef3d61"},
       {p:[{x:225,y:75},{x:225,y:225},{x:150,y:150}],color:"#f9f51a"},
       {p:[{x:150,y:150},{x:225,y:225},{x:150,y:300},{x:75,y:225}],color:"#a594c0"},
       {p:[{x:75,y:225},{x:150,y:300},{x:0,y:300}],color:"#fa8ecc"},
       {p:[{x:300,y:150},{x:300,y:300},{x:150,y:300}],color:"#f6ca29"},
   ];
   window.onload=function(){
       var canvas=document.getElementById("canvas");
       if(canvas.getContext("2d")){
       var context=canvas.getContext("2d");}else{
           alert("当前浏览器不支持canvas,请更换浏览器后再试");
       }
       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=0;i<piece.p.length;i++){
               cxt.lineTo(piece.p[i].x,piece.p[i].y);
           }
           cxt.closePath();
           cxt.fillStyle=piece.color;
           cxt.fill();
       }


   }
</script>

正在回答

1 回答

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>xxxx</title>
    <script>
        var tangram=[
            {p:[{x:0,y:0},{x:300,y:0},{x:150,y:150}],color:"#caff67"},
            {p:[{x:0,y:0},{x:150,y:150},{x:0,y:300}],color:"#67becf"},
            {p:[{x:300,y:0},{x:300,y:150},{x:225,y:225},{x:225,y:75}],color:"#ef3d61"},
            {p:[{x:225,y:75},{x:225,y:225},{x:150,y:150}],color:"#f9f51a"},
            {p:[{x:150,y:150},{x:225,y:225},{x:150,y:300},{x:75,y:225}],color:"#a594c0"},
            {p:[{x:75,y:225},{x:150,y:300},{x:0,y:300}],color:"#fa8ecc"},
            {p:[{x:300,y:150},{x:300,y:300},{x:150,y:300}],color:"#f6ca29"},
        ];
        window.onload=function(){
            var canvas=document.getElementById("canvas");
            if(canvas.getContext("2d")){
                var context=canvas.getContext("2d");}else{
                alert("当前浏览器不支持canvas,请更换浏览器后再试");
            }
            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=0;i<piece.p.length;i++){
                    cxt.lineTo(piece.p[i].x,piece.p[i].y);
                }
                cxt.closePath();
                cxt.fillStyle=piece.color;
                cxt.fill();
            }


        }
    </script>
</head>
<body>
<canvas id="canvas" width="500px" height="500px"></canvas>
</body>
</html>

你的代码  我什么也没有改,是没有问题。

0 回复 有任何疑惑可以回复我~
#1

QAQQQQ 提问者

啊?但是我最后写出来的效果和老师的不一样。
2015-12-02 回复 有任何疑惑可以回复我~
#2

李晓健 回复 QAQQQQ 提问者

我就用上面的代码直接运行的,七巧板没有问题的。
2015-12-03 回复 有任何疑惑可以回复我~
#3

QAQQQQ 提问者 回复 李晓健

canvas的width和height属性只能写在标签里面吗?我写在css中出来的效果就和老师的不一样,但是我爸它写在标签里面就对了
2015-12-03 回复 有任何疑惑可以回复我~
#4

李晓健 回复 QAQQQQ 提问者

也可以在js里设置的
2015-12-03 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

为什么我这画出来只有四块呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信