小編給大家分享一下如何實(shí)使用Html5編寫屬于自己的畫畫板 ,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為黃梅企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),黃梅網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。html5的繪圖可以分為點(diǎn),線,面,圓,圖片等,點(diǎn)和線,這可是所有平面效果的基點(diǎn),有了這兩個(gè)東西,沒有畫不出來的東西,只有想不到的算法。
先上代碼了:
html
效果:
好了,一個(gè)簡陋的畫圖界面就搞好啦,下面開始寫一些畫線的代碼
$.Draw = {}; $.extend($.Draw, { D2: "", CX:"", Box: "mycavas",//畫布id BoxObj:function(){//畫布對(duì)象 this.CX=document.getElementById(this.Box); }, D2:function(){//2d繪圖對(duì)象 this.D2 = this.CX.getContext("2d"); }, Cricle: function (x, y, r, color) {//畫圓 if (this.D2) { this.D2.beginPath(); this.D2.arc(x, y, r, 0, Math.PI * 2, true); this.D2.closePath(); if (color) { this.D2.fillStyle = color; } this.D2.fill(); } }, init: function () {//初始化 this.BoxObj(); this.D2(); } })
相信這里的簡單代碼大家都看得懂,主要就是創(chuàng)建了一個(gè)對(duì)象,包含創(chuàng)建畫布,創(chuàng)建2d對(duì)象,畫圓方法,和對(duì)象初始化方法。
接下里前臺(tái)html頁面來調(diào)用這個(gè)對(duì)象/p>
看代碼:
var color = "#000000";//初始化顏色 var size = 5;//初始化尺寸 document.getElementById('color1').onchange = function () { color = this.value; }; document.getElementById('size').onchange = function () { size = this.value; }; $.Draw.init();//初始化 var tag = false;//控制鼠標(biāo)當(dāng)前狀態(tài)并起到開啟油墨開關(guān)的作用 var current = {};//存儲(chǔ)鼠標(biāo)按下時(shí)候的點(diǎn) document.onmousedown = function (option) {//鼠標(biāo)按下事件 current.x = option.x; current.y = option.y; $.Draw.Cricle(option.x, option.y, size, color); tag = true; } document.onmouseup = function () {//鼠標(biāo)抬起事件 tag = false; } document.onmousemove = function (option) {//鼠標(biāo)移動(dòng)事件 if (tag) { if (size >= 0) { $.Draw.Cricle(option.x, option.y, size, color); } } }
這段代碼主要有如下幾個(gè)意思
1.捕獲顏色空間和拖動(dòng)條控件的change事件,從而獲取對(duì)應(yīng)的顏色和尺寸的數(shù)值,存儲(chǔ)下來供下面畫線用
2.初始化畫圖對(duì)象
3.捕獲鼠標(biāo)的按下,抬起和移動(dòng)事件,關(guān)鍵在一個(gè)開關(guān)可以控制油墨
好了,一個(gè)簡單的涂鴉板就好了,上我的書法:
看完了這篇文章,相信你對(duì)“如何實(shí)使用Html5編寫屬于自己的畫畫板 ”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!