1. 程式人生 > >使用canvas畫線,在Js中動態設定高和寬

使用canvas畫線,在Js中動態設定高和寬

1.定義div

  <div style="height:240px;" >                           
          <div id="conditionCol"></div>                                                         
          <canvas id="can"  height="230px" style="display:none">                 
                       該瀏覽器不支援html5,推薦使用chrome!    
           </canvas>              
     </div>    

2.根據需要包裹的div的寬度動態設定canvas的寬度(注意點:目前只支援原生的document.getElementById方式設定,jquery方式不支援)

        $("#can").css({"display":"block"});     
         var width = $("#conditionCol").width(); 
         document.getElementById("can").width = width-5;    //減去邊框的寬度    

3.根據座標畫圖:

 can = document.getElementById('can');  
      context = can.getContext('2d');
      var width = $("#conditionCol").width();  
      context.clearRect(0,0,width,230);                               
      for (var i = 0; i < xmAttaLineArr.length; i++) {
          drawLinePath(xmAttaLineArr[i]);         
      }  

    //根據某個點畫出線條的方法
    function drawLinePath(xmAttaLine) {               
      var point = pointsMap.get(xmAttaLine);   
      context.save();
      context.translate(0.5,0.5);
      context.lineWidth = 2;           
      context.strokeStyle = 'red';      
      context.beginPath();           
      context.moveTo(point.startX, point.startY);   
      context.lineTo(point.endX,point.endY);        
      context.stroke();
      context.restore();
    }