[FLASH/AS1/2]简易涂鸦板(带本地保存功能与撤消上一步功能)作者:古树悬叶日期:2010-01-07二类涂鸦板:一种是主流的通过保存鼠标轨迹的方式来保存涂鸦数据,既使用矢量的方式来保存,样例如闪吧的涂鸦程序;
另一种是通过保存BitmapData颜色值的方式来保存,样例还没有找到比较像样的样例。
在《内置方法Array.shift与自定义循环++的执行效率比较》一文中,我已经对shift方法与自定义的++方式分别作了比较。
虽然自定义++的方式比shift方法要快,但事实它们二者的效率都很低。
由于SharedObject类是无法直接保存BitmapData对象的,所以只能将BitmapData的所有位图像素的每一个像素取ARGB值后保存。
一张位图按500像素x500像素算,自定义++需要3秒多,而shit方法脚本超时。
所以通过BitmapData的颜色方式来保存只能保存较小的位图。
所以通过鼠标轨迹的方式保存涂鸦成了主流。
此涂鸦板在涂鸦之后会自动将涂鸦保存在本地,并且可以撤消上一步操作。
涂鸦画线功能我是直接从FLASH协助文件中考贝出来的,我在涂鸦功能的基础上添加了本地保存和撤消的功能。
(代码可以扩展成自定义线条粗细,自定义线条颜色,透明度等等。
还可以添加新的数据用来记录被撤消的步聚,这样不旦可以撤消还有了重做功能。
甚至还可以在tempArray.push添加新的数组,同时保存不同线条粗细、颜色、透明度的涂鸦,做成一个类似画板的程序。
)
1