本发明涉及笔迹显示领域,更具体地,涉及一种基于可缩放矢量图形的安卓平台笔迹回放方法及装置。
背景技术:
智能移动设备平台上的回放技术已遍布许多安卓(Android)软件中,比如:字帖类软件,画图类软件等。在市面上,大多数软件采取的回放笔迹技术,目前比较流行的两种算法:一是历史坐标回溯法,此方法需根据事先存储字迹的历史定位坐标与回放的设定参数,从数据库中检索得到后在将轨迹再在画板上重新绘制,绘制完成代码繁琐且需要较大的内存,不符合移动设备轻应用的需求;二是通过录制屏幕生成媒体文件再重放,也有存储量大的问题。Android自带的Picture类,其使用过程需要存储记录绘图操作,需要存储的媒体文件造成无益的空间占用并且不能很好体现实时性
技术实现要素:
本发明为克服上述现有技术所述的至少一种缺陷,提供一种基于可缩放矢量图形的安卓平台笔迹回放方法及装置。
本发明旨在至少在一定程度上解决上述技术问题。
本发明的首要目的是提供一种基于可缩放矢量图形的笔迹回放方法,解决现有技术中存储量大且代码繁琐的问题
本发明的进一步目的是提供一种基于可缩放矢量图形的笔迹回放装置。
为解决上述技术问题,本发明的技术方案如下:
一种基于可缩放矢量图形的安卓平台笔迹回放方法,包括以下步骤:
S1:识别绘制过程中产生的每一段笔划的Path;
S2:将识别的每一段笔划的Path保存至路径集合P中;
S3:利用监听器和PathMeasure类实现该字体的笔迹回放;
上述方法中以相对成本较低的方式解决难题,即使用集合存储可缩放矢量图形(SVG)格式的每笔笔划,同时结合能够直接改变属性值的动画类ValueAnimator类,通过属性动画让任何对象的属性都跟着时间的改变进行变化,同时通过PathMeasure类追踪Path的坐标进行绘制定位,最终实现书写过程回放的功能,从而有效简化了代码,避免存储过多的参数以及产生媒体文件占用过大内存,也大大减少了存储空间。
优选地,每一段笔划的Path保存为SVG文件,SVG是可伸缩矢量图形(Scalable Vector Graphics),Path类是SVG基本形状中最强大的一个,绘制过程中的笔迹均用Path类保存为SVG文件,由于SVG是一个纯粹的XML文件,占用内存小,能够大大地减少存储空间,也便于往后实现回放功能直接进行代码层面的操作。
优选地,步骤S1的识别绘制过程中产生的每一段笔划的Path,其中识别一段笔划的Path的具体步骤中用一字