溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何實(shí)使用Html5編寫屬于自己的畫畫板

發(fā)布時(shí)間:2021-08-27 09:51:46 來源:億速云 閱讀:120 作者:小新 欄目:web開發(fā)

小編給大家分享一下如何實(shí)使用Html5編寫屬于自己的畫畫板 ,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

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

先上代碼了:

html

<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>

   效果:

如何實(shí)使用Html5編寫屬于自己的畫畫板

好了,一個(gè)簡(jiǎn)陋的畫圖界面就搞好啦,下面開始寫一些畫線的代碼 

$.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頁面來調(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è)簡(jiǎn)單的涂鴉板就好了,上我的書法:

如何實(shí)使用Html5編寫屬于自己的畫畫板

看完了這篇文章,相信你對(duì)“如何實(shí)使用Html5編寫屬于自己的畫畫板 ”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI