溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用canvas怎么繪制一個七巧板

發(fā)布時間:2021-03-10 16:45:30 來源:億速云 閱讀:193 作者:Leah 欄目:web開發(fā)

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)使用canvas怎么繪制一個七巧板,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

代碼分享:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Canvas七巧板</title>
</head>
<body>
  <canvas id="canvas" ></canvas>
  <script type="text/javascript">
    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'}
    ]
//    定義一個存放繪制路徑和顏色的數(shù)組
    window.onload=function (){
      var canvas=document.getElementById('canvas');
//      獲取canvas
      canvas.width = 800;
      canvas.height = 800;
//      定義畫布的寬高
      var context=canvas.getContext('2d');
//      創(chuàng)建畫布
      for( var i=0; i<tangram.length; i++){
        draw(tangram[i],context);
//        遍歷數(shù)組tangram執(zhí)行函數(shù)draw

      }
//      draw這個函數(shù)
     function draw(piece,cxt){
        cxt.beginPath();
//        開始路徑的創(chuàng)建
        cxt.moveTo( piece.p[0].x , piece.p[0].y );
//        從這個坐標開始
        for( var i=1; i<piece.p.length; i++)
//          遍歷數(shù)組中的p屬性
          cxt.lineTo(piece.p[i].x , piece.p[i].y);
//        畫路徑到這個坐標
          cxt.closePath();
//          關(guān)閉這條打開的路徑

          cxt.fillStyle = piece.color;
          cxt.fill();
//          給繪制的形狀填充顏色
     }
    }
  </script>
</body>
</html>

上述就是小編為大家分享的使用canvas怎么繪制一個七巧板了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI