canvas怎么在html5中使用-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)與策劃設(shè)計,吳堡網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:吳堡等地區(qū)。吳堡做網(wǎng)站價格咨詢:028-86922220
<!DOCTYPE HTML>
<html>
<head>
 <meta charset="UTF-8">
 <title>HTML5示例</title>
 <style type="text/css">
  #container{border:1px solid #ccc;width:800px;height:600px;position:relative;}
  canvas{position:absolute;top:0px;left:0px;z-index:1;}
 </style>
</head>
<body>
 <select id="tools">
  <option value="pen">鉛筆</option>
  <option value="line">直線</option>
  <option value="rect">矩形</option>
  <option value="circle">圓形</option>
  <option value="ellipse">橢圓</option>
 </select>
 <div id="container">
 <canvas id="canvas" width="800" height="600"></canvas>
 <canvas id="canvas_temp"  width="800" height="600"></canvas>
 </div>
 <script type="text/javascript"> 
 var canvas = document.getElementById('canvas');
 var context  = canvas.getContext('2d');
 
 var _canvas = document.getElementById('canvas_temp');
 var _context  = _canvas.getContext('2d');
 var tools= document.getElementById('tools');
 
 tools.onchange = function (e){  
  tool[this.value]();
 };
 var tool = {
  pen:function (){
   this.reset();
   _canvas.onmousedown=function (e){
    _context.moveTo(e.layerX,e.layerY);
    _canvas.onmousemove=function (e){
     _context.lineTo(e.layerX,e.layerY);
     _context.stroke();
    };
    _canvas.onmouseup=function (e){
     _canvas.onmousemove=null;
     _canvas.onmouseup=null;
     tool.updata();
    };
   };
  },
  line:function (){
   this.reset();
   _canvas.onmousedown=function (e){
    var _e = e;    
    _canvas.onmousemove=function (e){ 
     _context.clearRect(0,0,canvas.width,canvas.height);
     _context.beginPath();
     _context.moveTo(_e.layerX,_e.layerY);
     _context.lineTo(e.layerX,e.layerY);
     _context.stroke();
     _context.closePath();
    }; 
    _canvas.onmouseup=function (e){
     _canvas.onmousemove=null;
     _canvas.onmouseup=null;
     tool.updata();
    };    
   }  
  },
  rect:function (){
   this.reset();
   _canvas.onmousedown=function (e){
    var _e = e;
    _context.strokeStyle="#000";
    _canvas.onmousemove=function (e){ 
     _context.clearRect(0,0,canvas.width,canvas.height);
     _context.strokeRect(_e.layerX,_e.layerY,e.layerX-_e.layerX,e.layerY-_e.layerY);
    };
    _canvas.onmouseup=function (e){
     _canvas.onmousemove=null;
     _canvas.onmouseup=null;
     tool.updata();
    };    
   } 
  },
  circle:function (){
   this.reset();
   _canvas.onmousedown=function (e){
    var _e = e;
    _canvas.onmousemove=function (e){ 
     _context.clearRect(0,0,canvas.width,canvas.height);
     _context.beginPath();
     _context.arc(_e.layerX,_e.layerY,e.layerX-_e.layerX,0,Math.PI*2,true);
     _context.stroke();
     _context.closePath();
    };
    _canvas.onmouseup=function (e){
     _canvas.onmousemove=null;
     _canvas.onmouseup=null;
     tool.updata();
    };    
   } 
  },
  ellipse:function (){
   this.reset();
   _canvas.onmousedown=function (e){
    var _e = e;    
    _canvas.onmousemove=function (e){
     var st=0;
     _context.clearRect(0,0,canvas.width,canvas.height);
     _context.beginPath();
     _context.moveTo(_e.layerX+(e.layerX-_e.layerX)*Math.cos(st), _e.layerY+(e.layerX-_e.layerX)*Math.sin(st));
     st+=1/180*Math.PI;     
     for(var i=0;i<360;i++){
      _context.lineTo(_e.layerX+(e.layerX-_e.layerX)*Math.cos(st),_e.layerY+(e.layerY-_e.layerY)*Math.sin(st));
      st+=1/180*Math.PI;
     }
     _context.stroke();
     _context.closePath();
    };
    _canvas.onmouseup=function (e){
     _canvas.onmousemove=null;
     _canvas.onmouseup=null;
     tool.updata();
    };    
   }   
  },
  reset:function (){
   _canvas.onmousedown=null;
   _canvas.onmouseup=null;
   _canvas.onmousemove=null;
  },
  updata:function (){ 
   context.drawImage(_canvas, 0, 0);
   _context.clearRect(0, 0, canvas.width, canvas.height);
  }
 };
 tool['pen'](); 
 </script>
</body>
</html>

上述就是小編為大家分享的canvas怎么在html5 中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享標題:canvas怎么在html5中使用-創(chuàng)新互聯(lián)
文章分享:http://muchs.cn/article16/dhgsgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、域名注冊、網(wǎng)站維護營銷型網(wǎng)站建設(shè)、小程序開發(fā)網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司