今天就跟大家聊聊有關(guān)如何使用涂鴉板簡(jiǎn)單實(shí)現(xiàn) Html5編寫屬于自己的畫畫板,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

最近了解到html5強(qiáng)大的繪圖功能讓我驚奇,于是,寫了個(gè)小玩意---涂鴉板,能實(shí)現(xiàn)功能有:畫畫,改色,調(diào)整畫筆大小
html5的繪圖可以分為點(diǎn),線,面,圓,圖片等,點(diǎn)和線,這可是所有平面效果的基點(diǎn),有了這兩個(gè)東西,沒有畫不出來的東西,只有想不到的算法。
先上代碼了:
html
XML/HTML Code復(fù)制內(nèi)容到剪貼板
<body style="cursor:pointer"> <canvas id="mycavas" width="1024" height="400" style="border:solid 4px #000000"></canvas><!--畫布--> <input type="color" id="color1" name="color1"/><!--設(shè)色器--> <output name="a" for="color1" onforminput="innerHTML=color1.value"></output> <input type="range" name="points" id="size" min="5" max="20" /><!--拖動(dòng)條--> </body>
效果:

好了,一個(gè)簡(jiǎn)陋的畫圖界面就搞好啦,下面開始寫一些畫線的代碼
JavaScript Code復(fù)制內(nèi)容到剪貼板
$.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();
}
})相信這里的簡(jiǎn)單代碼大家都看得懂,主要就是創(chuàng)建了一個(gè)對(duì)象,包含創(chuàng)建畫布,創(chuàng)建2d對(duì)象,畫圓方法,和對(duì)象初始化方法。
接下里前臺(tái)html頁(yè)面來調(diào)用這個(gè)對(duì)象/p>
看代碼:
JavaScript Code復(fù)制內(nèi)容到剪貼板
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è)簡(jiǎn)單的涂鴉板就好了,上我的書法:

看完上述內(nèi)容,你們對(duì)如何使用涂鴉板簡(jiǎn)單實(shí)現(xiàn) Html5編寫屬于自己的畫畫板有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)頁(yè)標(biāo)題:如何使用涂鴉板簡(jiǎn)單實(shí)現(xiàn)Html5編寫屬于自己的畫畫板-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://www.chinadenli.net/article22/iejjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)頁(yè)設(shè)計(jì)公司、關(guān)鍵詞優(yōu)化、網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容