Android-原笔迹手写的探索与开发

Posted doublewin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android-原笔迹手写的探索与开发相关的知识,希望对你有一定的参考价值。

 前言                                                                                                                              

这篇文章主要是关于移动端原笔迹的开发,让平板上的手写效果达到笔迹光滑且有笔锋。

  • 介绍关于原笔迹的算法思路。
  • 项目github地址

算法思路分析                                                                                                                   

曲线拟合算法

利用曲线拟合算法增加虚拟的点,使得笔迹更加光滑,关于算法思想本文采用的是B样条插值算法。

采集点:获取笔输出的两个关键点a1、a2,以及a1和a2附近的几个点a3,a4;

拟合点:利用a1,a2,a3,a4计算出a1和a2之间曲线的步长,再根据步长计算出a1与a2之间所有的点,所

计算出的点即为曲线上的点;

简单效果图展示:

技术图片

梯形填充笔迹

利用梯形填充思想来实现笔锋的效果。

获取笔宽:获取到a1与a2两点笔的压力,转换成对应的宽度作为此段起点和终点的宽度d1,d2,以d1与、

d2差再除以a1与a2点之间的个数得到曲线点之间笔宽的差值,再计算出该段曲线上所有点a1,b1...bn,a2

对应的笔宽l1...ln;

计算梯形:利用曲线上相邻的点和对应的笔宽计算出梯形,利用图形模块的填充效果将梯形填充;

处理梯形连接处:对于每个梯形连接处,根据此处关键点特征区分为不做处理,画线以及画椭圆,并且

接处填充,即生成原笔迹效果;

效果展示:

技术图片

 技术图片

 项目地址                                                                                                                       

关于github代码地址:https://github.com/doubledouble123/Pens

 总结                                                                                                                             

本文通过曲线拟合算法和梯形填充算法完成了原笔迹效果的实现,提供平板的书写体验。

以上是关于Android-原笔迹手写的探索与开发的主要内容,如果未能解决你的问题,请参考以下文章

联合钉钉共同开发,荣耀平板V7系列专属功能正式上线

iOS 的手写识别应用程序如何识别我的笔迹? [复制]

文本挖掘分析与文学作品鉴真

《android开发艺术探索》读书笔记(十三)--综合技术

Android深度探索--HAL与驱动开发第八章读后感

深入探索Android内存优化(炼狱级别)