国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > HTML5 > 正文

JavaScript+Canvas實現自定義畫板的示例代碼

2024-09-05 07:22:53
字體:
來源:轉載
供稿:網友

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

效果演示圖:

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 息烽县| 焉耆| 舞钢市| 榆社县| 大英县| 通榆县| 建平县| 临海市| 巴林左旗| 姚安县| 连江县| 会泽县| 永吉县| 赣榆县| 张家港市| 张家川| 密云县| 舒兰市| 尚志市| 锡林郭勒盟| 新昌县| 玉门市| 昌宁县| 桐乡市| 邻水| 南皮县| 巴里| 沙坪坝区| 大城县| 安宁市| 定兴县| 称多县| 兴城市| 张北县| 林州市| 甘孜| 罗田县| 东辽县| 乐山市| 司法| 基隆市|