<strike id="3tkic"><sup id="3tkic"></sup></strike>

  1. <ul id="3tkic"></ul>
      <b id="3tkic"><legend id="3tkic"></legend></b>
      <b id="3tkic"><meter id="3tkic"></meter></b>

    • <strike id="3tkic"></strike>

      <blockquote id="3tkic"></blockquote>

    • 亚洲AV无码国产在丝袜线观看_亚洲第一页A∨在线_亚洲国产人成在线观看69网站_无码日韩人妻AV一区免费l

      div里利用canvas進行一個餅形圖的繪制

      2017/2/23 8:30:44   閱讀:2351    發(fā)布者:2351
      <!DOCTYPE html> 
      <html lang="en"> 
      <head> 
          <meta charset="UTF-8"> 
          <title>繪制餅形圖。</title> 
          <style> 
              canvas{ 
                  border: 1px solid green; 
              } 
          </style> 
      </head> 
      <body> 
          <!-- 繪制餅形圖 --> 
          <canvas width="500" height="500" id="canvas"></canvas> 
      </body> 
      <script> 
          var canvas = document.getElementById(’canvas’); 
          var ctx = canvas.getContext(’2d’); 
          function toAngle(radian){ 
              return radian*180/Math.PI; 
          } 
          function toRadian(angle){ 
              return angle*Math.PI/180; 
          } 
          /*將餅狀圖畫出來*/ 
          var colors = ’green,yellow,pink,blue,red,lightgreen,lightblue’.split(’,’); 
          var text = ’HTML5,Canvas,Javascript,Css3,Ajax,框架封裝,jQuery與移動Web’.split(’,’); 
          var x0 = canvas.width/2, 
              y0 = canvas.height/2, 
              radius = 100, 
              start = -5, 
              distance = 20, 
              padding = 5, 
              step = 360/colors.length; 
          for(var i = 0 ; i < colors.length ; i ++){ 
              ctx.beginPath(); 
              ctx.fillStyle = colors[i]; 
              ctx.moveTo(x0,y0); 
              ctx.arc(x0,y0,radius,toRadian(start),toRadian(start+=step)); 
              ctx.fill(); 
              /*畫斜線*/ 
              ctx.beginPath(); 
              ctx.strokeStyle = colors[i]; 
              var x1 = x0 + (radius+distance)*Math.cos(toRadian(( start-step/2 ))), 
                  y1 = y0 + (radius+distance)*Math.sin(toRadian(( start-step/2 ))); 
              ctx.moveTo(x0,y0); 
              ctx.lineTo(x1,y1); 
              ctx.stroke(); 
              /*寫文字*/ 
              ctx.beginPath(); 
              ctx.fillStyle = colors[i]; 
              var textX = x1, 
                  textY = y1; 
              if(start-step/2 > 90 && start-step/2 < 270){ 
                  ctx.textAlign = ’right’; 
                  textX = textX - padding; 
              }else{ 
                  ctx.textAlign = ’left’; 
                  textX = textX + padding; 
              } 
              ctx.fillText(text[i],textX,textY-padding/2); 
              /*畫直線*/ 
              ctx.beginPath(); 
              ctx.moveTo(x1,y1); 
              //計算文字的寬度 
              var length = ctx.measureText( text[ i ] ).width 
              if(start-step/2 > 90 && start-step/2 < 270){ 
                  x1 += -2*padding-length; 
              }else{ 
                  x1 += 2*padding + length; 
              } 
              ctx.lineTo(x1,y1); 
              ctx.stroke(); 
              /*畫餅形圖*/ 
              /*ctx.beginPath(); 
              ctx.fillStyle = colors[i]; 
              ctx.moveTo(x0,y0); 
              ctx.arc(x0,y0,radius,toRadian(start),toRadian(start+=step)); 
              ctx.fill();*/ 
          } 
      </script> 
      </html>

       

      亚洲AV无码国产在丝袜线观看_亚洲第一页A∨在线_亚洲国产人成在线观看69网站_无码日韩人妻AV一区免费l
      <strike id="3tkic"><sup id="3tkic"></sup></strike>

      1. <ul id="3tkic"></ul>
          <b id="3tkic"><legend id="3tkic"></legend></b>
          <b id="3tkic"><meter id="3tkic"></meter></b>

        • <strike id="3tkic"></strike>

          <blockquote id="3tkic"></blockquote>

        • 雷山县| 朝阳县| 江门市| 台北县| 自贡市| 洮南市| 汝南县| 武清区| 温州市| 高尔夫| 肇州县| 保德县| 湛江市| 威远县| 陇川县| 禄劝| 鄂温| 科技| 报价| 高州市| 黄冈市| 梧州市| 涟水县| 济宁市| 察隅县| 高碑店市| 龙游县| 五指山市| 永宁县| 荆州市| 彰化市| 天柱县| 云梦县| 宾阳县| 青田县| 宽甸| 井陉县| 读书| 芦山县| 融水| 广元市|