七巧板为什么画不出来

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

qq_莫念默念_0

2017-03-21 11:22

<!DOCTYPE html>

<meta charset="utf-8">

<html>

<head>

<title>canvas</title>

<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:"yellow"},

{p:[{x:800,y:0},{x:800,y:400},{x:600,y:600},{x:600,y:200}],color:"cyan"},

{p:[{x:600,y:200},{x:600,y:600},{x:400,y:400}],color:"grey"},

{p:[{x:400,y:400},{x:600,y:600},{x:400,y:800},[{x:200,y:600}],color:"orange"},

{p:[{x:200,y:600},{x:400,y:800},{x:0,y:800}],color:"black"},

{p:[{x:800,y:400},{x:800,y:800},{x:800,y:400}],color:"grey"}

]

window.onload=function(){

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

canvas.width=800;

canvas.height=800;

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

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

draw(tangram[i],ctx);

}

}

function draw(piece,ctx)

{

ctx.beginPath();

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

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

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

}

ctx.fillStyle = piece.color;

ctx.fill();

}

</script>

</head>

<body>

<canvas id="canvas" width="800" height="800" style="border:2px solid red;display: block;margin: 50px auto;">

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

</canvas>

</body>

</html>


写回答 关注

1回答

  • BlueMan_汪汪汪
    2017-03-21 15:18:28

    http://img.mukewang.com/58d0d39a000126e811860941.jpg 错误如图

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

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

96746 学习 · 1000 问题

查看课程

相似问题