html5 css3 jquery 画板

采用html5 canvas + css3 + jquery 写的涂鸦画板,以前为了学习h5 新特性做的一个小玩意,功能有打开图片,支持拖拽到画布中加载;

画笔功能、毛笔刷、插入文字,画直线、圆形、方形、等,可动态改变画布大小,支持橡皮擦,放大缩小,喷桶、吸管等工具,所有画笔支持颜色选择,支持css3的新滤镜功能,以及模仿ps做的图片复古、反色、素描、朦胧、雕刻、镜像等功能。

html5 css3 jquery 画板

 

Css滤镜效果

html5 css3 jquery 画板

 

各种图形,画笔等效果,可动态改变粗细,大小

html5 css3 jquery 画板

 

模仿PS中朦胧、镜像、复古等功能。

html5 css3 jquery 画板

 

可插向画板中插入文字,回退上一步编辑、本地缓存等功能。

html5 css3 jquery 画板

 

学习时从网上找了两个算法,画出的效果图…

html5 css3 jquery 画板

 

 

 

html5 css3 jquery 画板

 

设置画布大小

html5 css3 jquery 画板

 

下面这个是根据网上一个算法做的一个千变万化的画图功能,根据top、right、bottom、left 速度,颜色等设置,可动态画出你想想不到的图形,特别艺术。

html5 css3 jquery 画板

 

html5 css3 jquery 画板

 

html5 css3 jquery 画板

源码中层次分明

html5 css3 jquery 画板

 

html5 css3 jquery 画板html5 css3 jquery 画板

 

**********************************************************************
=====特别说明=======

本程序必须使用google chrome浏览器运行
因为所有样式及脚本都是用webkit API进行编写
此程序主要目的是复习一下html5 canvas画布及一些特性
************************************************************************


**********************************************************************
=====所用技术=======
html5+css3
布局为div table canvas 布局,最传统的绝对定位

主画布采用div+2张canvas,用div是组选方便,两张画布是用双缓冲解决画笔颜色等问题,当然也可以用还原点

工具栏用table布局,所有图标都为png图片,为了偷懒,每个图标都用一个图片,这里应该把所有图标合成一副图像,然后用css sprite做!!

工具栏弹出窗口用div+table 或div加超链接做成,主要技术是css修饰弹出层样式,jQuery控制显示隐藏及特效,定义一个拖拽类来注册拖拽元素

保存图片区域用div+table,效果是css3+jQuery特效做的,保存图片涉及到了本地化存储localStorage

修改图片效果一种是css3滤镜,另一种是rgba转换,rgba转换算法网上有很多!

下载与保存图像用了dataURI 也就是data协议的东西,画布有toDataUrl方法

所有画图形算法在w3school网站上都有例子,把定制改为鼠标位置就可以了,主要是4个事件:鼠标按下时初始鼠标位置参数,context参数等;
鼠标移动是根据鼠标位置画线,鼠标抬起时把缓存图像画到画布上,鼠标移出时根据不同画笔工具处理各种业务。

放大缩小是zoom做的,后来发现有scale()方法,为了偷懒没有修改;

时钟是修改了网上的代码,直接加上的

动态画图的功能也是借鉴了网上一个功能修改的,添加了颜色,速度,拖拽角度,随机颜色等功能

图片旋转控件时一个图片把边框修饰为圆形了再加上拖动效果,图片上面画了热点,点击热点用css旋转做的

打开图片用的是input type=file 做的,这里涉及到ImageReader,这个类很强大,js终于能玩二进制数据了!!!!

拖拽本地图片直接添加到画布用的是drop事件做的,原理跟input type=file差不多

最后,由于开始只为了玩玩画线,没想做这么多功能,所以没有规划,所有功能都是想一个添加一个,导致后期很多bug,最明显的就是更改画布尺寸后
没有重置全局变量,导致画笔再画的时候位置偏离,添加一个函数closeResizeWin,把设计画布尺寸改变地方都调用一下这个函数就哦了!

详细了解请看注释!

Author:WangTao
emailto:[email protected]
Date:2013-11-01

源码下载地址:https://download.****.net/download/taoge2121/10759776