首頁  >  文章  >  web前端  >  Html5簡單實作塗鴉板的範例程式碼

Html5簡單實作塗鴉板的範例程式碼

黄舟
黄舟原創
2017-03-16 13:17:323766瀏覽

這篇文章主要教大家如何使用Html5編寫屬於自己的畫板,進行繪畫、調整顏色等操作,感興趣的小伙伴們可以參考一下

最近了解到html5強大的繪圖功能讓我驚奇,於是,寫了個小玩意---塗鴉板,能實現功能有:畫畫,改色,調整畫筆大小

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

先上程式碼了:

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"/><!--设色器-->  
        <output name="a" for="color1" onforminput="innerHTML=color1.value"></output>  
         <input type="range" name="points" id="size" min="5" max="20" /><!--拖动条-->  
</body>

效果:

Html5簡單實作塗鴉板的範例程式碼

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

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

看程式碼:

var color = "#000000";//初始化颜色   
        var size = 5;//初始化尺寸   
        document.getElementById(&#39;color1&#39;).onchange = function () {   
            color = this.value;   
        };   
        document.getElementById(&#39;size&#39;).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簡單實作塗鴉板的範例程式碼

相關文章:

以純CSS3為基礎的6種手繪塗鴉按鈕效果

如何使用html5與css3完成google塗鴉動畫

基於javascript html5 canvas實現可調式畫筆顏色/粗細/橡皮的塗鴉板

以上是Html5簡單實作塗鴉板的範例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn