濮阳杆衣贸易有限公司

主頁 > 知識庫 > JavaScript+Canvas實現(xiàn)自定義畫板的示例代碼

JavaScript+Canvas實現(xiàn)自定義畫板的示例代碼

熱門標(biāo)簽:ok電銷機(jī)器人 智能電銷機(jī)器人被禁用了么 惡搞電話機(jī)器人 高德地圖標(biāo)注商戶怎么標(biāo) 電話機(jī)器人技術(shù) 地圖標(biāo)注軟件打印出來 黃石ai電銷機(jī)器人呼叫中心 如何查看地圖標(biāo)注 欣鼎電銷機(jī)器人 效果

最近研究了HTML5一些新的元素屬性,發(fā)現(xiàn)確實好用,特別是里面的Canvas這個新的標(biāo)簽元素。官方介紹:Canvas API(畫布)是在HTML5中新增的標(biāo)簽用于在網(wǎng)頁實時生成圖像,并且可以操作圖像內(nèi)容,基本上它是一個可以用JavaScript操作的位圖(bitmap)。以下使用JavaScript結(jié)合Canvas實現(xiàn)一個畫板功能

效果演示圖:

代碼部分(直接復(fù)制便可使用)

<!DOCTYPE HTML>
<html>
<head>  
<meta charset="utf-8" />  
<title>JavaScript+Canvas實現(xiàn)自定義畫板</title>
</head>
<body>
<canvas id="canvas"  width="600" height="300"></canvas>
<script type="text/javascript">   
  var canvas = document.getElementById("canvas");   
  var ctx = canvas.getContext("2d");   
  //畫一個黑色矩形   
  ctx.fillStyle="black";   
  ctx.fillRect(0,0,600,300);   
  //按下標(biāo)記   
  var onoff = false;  
  //變量oldx跟oldy代表鼠標(biāo)移動前的坐標(biāo)  
  var oldx = -10;   
  var oldy = -10;   
  //設(shè)置顏色  
  var linecolor = "white";   
  //設(shè)置線寬   
  var linw = 4;   
  //添加鼠標(biāo)移動事件   
  canvas.addEventListener("mousemove",draw,true);  //第三個參數(shù)主要跟捕獲或者冒泡有關(guān)   
  //添加鼠標(biāo)按下事件   
  canvas.addEventListener("mousedown",down,false);   
  //添加鼠標(biāo)彈起事件   
  canvas.addEventListener("mouseup",up,false);   
  function down(event){     
   onoff = true;     
   oldx = event.pageX-10;      
   oldy = event.pageY-10;  
   //console.log(event.pageX+'..............000.............'+event.pageY);
  //event.pageX跟event.pageY相對于整個頁面鼠標(biāo)的位置 包括溢出的部分(就是滾動條)   
  }   
  function up(){     
   onoff = false;   
 }  
 function draw(event){    
  if(onoff == true){        
   var newx = event.pageX-10;        
   var newy = event.pageY-10;        
   ctx.beginPath();//beginPath() 丟棄任何當(dāng)前定義的路徑并且開始一條新的路徑。它把當(dāng)前的點設(shè)置為 (0,0)。       
   ctx.moveTo(oldx,oldy);   //移動到點擊時候的坐標(biāo),以那個坐標(biāo)為原點      
   ctx.lineTo(newx,newy);   //繪制新的路徑       
   ctx.strokeStyle=linecolor;       
   ctx.lineWidth=linw;       
   ctx.lineCap="round";       
   ctx.stroke();//stroke() 方法會實際地繪制出通過 moveTo() 和 lineTo() 方法定義的路徑。默認(rèn)顏色是黑色。    
//將新的鼠標(biāo)位置賦給下一次開始繪制的起始坐標(biāo)      
   oldx = newx;      
   oldy = newy;   
  };
 };
</script>
</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:萍鄉(xiāng) 聊城 綏化 赤峰 中山 金昌 阿壩 盤錦

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《JavaScript+Canvas實現(xiàn)自定義畫板的示例代碼》,本文關(guān)鍵詞  JavaScript+Canvas,實現(xiàn),自定義,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《JavaScript+Canvas實現(xiàn)自定義畫板的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于JavaScript+Canvas實現(xiàn)自定義畫板的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    布尔津县| 且末县| 锡林郭勒盟| 林甸县| 名山县| 伽师县| 松溪县| 保德县| 木兰县| 西丰县| 凤冈县| 莱西市| 郯城县| 卢龙县| 横山县| 张家川| 凌源市| 台安县| 保山市| 隆德县| 乌海市| 临汾市| 巧家县| 嘉定区| 郧西县| 宁德市| 青浦区| 文成县| 红安县| 沁阳市| 岗巴县| 女性| 尉犁县| 易门县| 红安县| 长治市| 永平县| 东乌珠穆沁旗| 平舆县| 隆化县| 罗田县|