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 關注
- 2870 瀏覽
添加回答
舉報
0/150
提交
取消