最近了解到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",
- BoxObj:function(){
- this.CX=document.getElementById(this.Box);
- },
- D2:function(){
- 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.捕獲鼠標的按下,抬起和移動事件,關鍵在一個開關可以控制油墨
好了,一個簡單的涂鴉板就好了,上我的書法:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
原文鏈接:http://www.cnblogs.com/bob1314/p/3830220.html