2 回答
已采納
大咪
TA貢獻785條經驗 獲得超332個贊
<!DOCTYPE?html>
<html>
<head>
<meta?charset="UTF-8">
<title></title>
</head>
<body>
<canvas?id="canvas"?width="800"?height="800"?style="border:1px?solid?
#aaa;display:block;margin:50px?auto;">當瀏覽器不支持canvas,請更換瀏覽器后再試
</canvas>
<script>
//每塊板子的顏色坐標
var?data=[
{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"}
]
//canvas函數
window.onload?=?function(){
var?canvas?=?document.getElementById("canvas");
canvas.width?=?800;
canvas.height?=?800;
var?context?=?canvas.getContext("2d");
//使用context繪制
//循環遍歷,每次遍歷調用draw函數
for(var?i?=?0;?i?<?data.length?;?i++)
draw(data[i],context);//包括了兩個參數,第一個是每塊七巧板的一塊,第二個是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>這個是我曾經寫的,也是canvas的例子可以給你參考下。
- 2 回答
- 0 關注
- 2884 瀏覽
添加回答
舉報
0/150
提交
取消
