视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
涂鸦板简单实现Html5编写属于自己的画画板
2020-11-27 15:08:56 责编:小采
文档
这篇文章主要教大家如何使用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.捕获鼠标的按下,抬起和移动事件,关键在一个开关可以控制油墨

好了,一个简单的涂鸦板就好了,上我的书法:

下载本文
显示全文
专题