主頁 > 知識庫 > 涂鴉板簡單實現(xiàn) Html5編寫屬于自己的畫畫板

涂鴉板簡單實現(xiàn) Html5編寫屬于自己的畫畫板

熱門標簽:中紳電銷智能機器人 濟南辦理400電話 漳州人工外呼系統(tǒng)排名 鄭州電銷外呼系統(tǒng)違法嗎 鶴壁手機自動外呼系統(tǒng)怎么安裝 農(nóng)村住宅地圖標注 跟電銷機器人做同事 威海營銷外呼系統(tǒng)招商 ai電銷機器人連接網(wǎng)關(guān)

最近了解到html5強大的繪圖功能讓我驚奇,于是,寫了個小玩意---涂鴉板,能實現(xiàn)功能有:畫畫,改色,調(diào)整畫筆大小

html5的繪圖可以分為點,線,面,圓,圖片等,點和線,這可是所有平面效果的基點,有了這兩個東西,沒有畫不出來的東西,只有想不到的算法。

先上代碼了:

html

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <body style="cursor:pointer">  
  2.  <canvas id="mycavas" width="1024" height="400" style="border:solid 4px #000000"></canvas><!--畫布-->  
  3.         <input type="color" id="color1" name="color1"/><!--設(shè)色器-->  
  4.         <output name="a" for="color1" onforminput="innerHTML=color1.value"></output>  
  5.          <input type="range" name="points" id="size" min="5" max="20" /><!--拖動條-->  
  6. </body>     

效果:

好了,一個簡陋的畫圖界面就搞好啦,下面開始寫一些畫線的代碼 

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. $.Draw = {};   
  2. $.extend($.Draw, {   
  3.     D2: "",   
  4.     CX:"",   
  5.     Box: "mycavas",//畫布id   
  6.     BoxObj:function(){//畫布對象   
  7.         this.CX=document.getElementById(this.Box);   
  8.     },   
  9.     D2:function(){//2d繪圖對象   
  10.        this.D2 = this.CX.getContext("2d");   
  11.     },   
  12.     Cricle: function (x, y, r, color) {//畫圓   
  13.         if (this.D2) {   
  14.             this.D2.beginPath();   
  15.             this.D2.arc(x, y, r, 0, Math.PI * 2, true);   
  16.             this.D2.closePath();   
  17.             if (color) {   
  18.                 this.D2.fillStyle = color;   
  19.             }   
  20.             this.D2.fill();   
  21.         }   
  22.     },   
  23.     init: function () {//初始化   
  24.         this.BoxObj();   
  25.         this.D2();   
  26.     }   
  27.   
  28. })   
  29.   

相信這里的簡單代碼大家都看得懂,主要就是創(chuàng)建了一個對象,包含創(chuàng)建畫布,創(chuàng)建2d對象,畫圓方法,和對象初始化方法。

接下里前臺html頁面來調(diào)用這個對象/p>

看代碼:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. var color = "#000000";//初始化顏色   
  2.         var size = 5;//初始化尺寸   
  3.         document.getElementById('color1').onchange = function () {   
  4.             color = this.value;   
  5.         };   
  6.         document.getElementById('size').onchange = function () {   
  7.             size = this.value;   
  8.         };   
  9.         $.Draw.init();//初始化   
  10.         var tag = false;//控制鼠標當前狀態(tài)并起到開啟油墨開關(guān)的作用   
  11.         var current = {};//存儲鼠標按下時候的點   
  12.         document.onmousedown = function (option) {//鼠標按下事件   
  13.             current.x = option.x;   
  14.             current.y = option.y;   
  15.             $.Draw.Cricle(option.x, option.y, size, color);   
  16.             tag = true;   
  17.         }   
  18.         document.onmouseup = function () {//鼠標抬起事件   
  19.             tag = false;   
  20.         }   
  21.         document.onmousemove = function (option) {//鼠標移動事件   
  22.             if (tag) {   
  23.                 if (size >= 0) {   
  24.                     $.Draw.Cricle(option.x, option.y, size, color);   
  25.                 }    
  26.             }   
  27.         }   

這段代碼主要有如下幾個意思

1.捕獲顏色空間和拖動條控件的change事件,從而獲取對應(yīng)的顏色和尺寸的數(shù)值,存儲下來供下面畫線用

2.初始化畫圖對象

3.捕獲鼠標的按下,抬起和移動事件,關(guān)鍵在一個開關(guān)可以控制油墨

好了,一個簡單的涂鴉板就好了,上我的書法:

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

原文鏈接:http://www.cnblogs.com/bob1314/p/3830220.html

標簽:甘南 紅河 萍鄉(xiāng) 營口 蘇州 惠州 文山 咸陽

巨人網(wǎng)絡(luò)通訊聲明:本文標題《涂鴉板簡單實現(xiàn) Html5編寫屬于自己的畫畫板》,本文關(guān)鍵詞  涂鴉,板,簡單,實現(xiàn),Html5,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《涂鴉板簡單實現(xiàn) Html5編寫屬于自己的畫畫板》相關(guān)的同類信息!
  • 本頁收集關(guān)于涂鴉板簡單實現(xiàn) Html5編寫屬于自己的畫畫板的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章