您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何使用涂鴉板簡單實現 Html5編寫屬于自己的畫畫板,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
最近了解到html5強大的繪圖功能讓我驚奇,于是,寫了個小玩意---涂鴉板,能實現功能有:畫畫,改色,調整畫筆大小
html5的繪圖可以分為點,線,面,圓,圖片等,點和線,這可是所有平面效果的基點,有了這兩個東西,沒有畫不出來的東西,只有想不到的算法。
先上代碼了:
html
XML/HTML Code復制內容到剪貼板
<body style="cursor:pointer"> <canvas id="mycavas" width="1024" height="400" style="border:solid 4px #000000"></canvas><!--畫布--> <input type="color" id="color1" name="color1"/><!--設色器--> <output name="a" for="color1" onforminput="innerHTML=color1.value"></output> <input type="range" name="points" id="size" min="5" max="20" /><!--拖動條--> </body>
效果:
好了,一個簡陋的畫圖界面就搞好啦,下面開始寫一些畫線的代碼
JavaScript Code復制內容到剪貼板
$.Draw = {}; $.extend($.Draw, { D2: "", CX:"", Box: "mycavas",//畫布id BoxObj:function(){//畫布對象 this.CX=document.getElementById(this.Box); }, D2:function(){//2d繪圖對象 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(); } })
相信這里的簡單代碼大家都看得懂,主要就是創建了一個對象,包含創建畫布,創建2d對象,畫圓方法,和對象初始化方法。
接下里前臺html頁面來調用這個對象/p>
看代碼:
JavaScript Code復制內容到剪貼板
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;//控制鼠標當前狀態并起到開啟油墨開關的作用 var current = {};//存儲鼠標按下時候的點 document.onmousedown = function (option) {//鼠標按下事件 current.x = option.x; current.y = option.y; $.Draw.Cricle(option.x, option.y, size, color); tag = true; } document.onmouseup = function () {//鼠標抬起事件 tag = false; } document.onmousemove = function (option) {//鼠標移動事件 if (tag) { if (size >= 0) { $.Draw.Cricle(option.x, option.y, size, color); } } }
這段代碼主要有如下幾個意思
1.捕獲顏色空間和拖動條控件的change事件,從而獲取對應的顏色和尺寸的數值,存儲下來供下面畫線用
2.初始化畫圖對象
3.捕獲鼠標的按下,抬起和移動事件,關鍵在一個開關可以控制油墨
好了,一個簡單的涂鴉板就好了,上我的書法:
看完上述內容,你們對如何使用涂鴉板簡單實現 Html5編寫屬于自己的畫畫板有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。