基于Android的手写毛笔图形APP的设计实现

2016-05-14 07:11刘裕拯黄政欧阳乐张宝鑫
电子技术与软件工程 2016年6期
关键词:手写

刘裕拯 黄政 欧阳乐 张宝鑫

摘 要在智能手机庞大的应用软件市场中,从照片涂鸦到随手笔记,绘板类APP作为重要的娱乐软件丰富了我们的生活。本文提出了一款基于Android平台的毛笔仿真效果的手写APP,使我们能够在手写时生成具有毛笔仿真笔迹效果的图片,并予以保存、发送。同时设计了软件的外观,描述了实现此APP的算法技术。

【关键词】Android 绘板 手写 毛笔仿真

随着智能手机应用软件市场的不断扩大,绘板类APP也越来越多。从一开始的简单涂鸦到手绘软件,人们对于绘画的娱乐性与艺术性的要求也与日俱增。本文设计提出了一款基于Android的仿毛笔效果的手写APP,它类似于常见的绘板软件,同时会将我们的手写笔迹转变为毛笔风格,使之更具娱乐性与艺术性。

1 应用市场

目前各类应用市场上的绘板类APP,大多受到用户的好评,其大致可以分为以下三类:相册涂鸦类,随笔绘板类,专业绘板类。其中,第一类软件功能简单,可玩性不强,多用于朋友圈照片分享;第三类软件,如SBM(Autodesk SketchBook Mobile)功能强大,操作复杂,上手难度高,可用于制作精美的绘画以及图片的细节修改;而第二类,诸如各类记事本软件,可以轻松涂鸦,方便记事,产生了许多小而美的软件,本文所设计的软件即属此类。

2 软件说明

此款APP是运行在Android平台上的单机独立软件。基于Android4.1版本开发,在Android5.0版本上也测试通过。通过模拟毛笔书写效果,起到了对手写笔画优化的作用,生成了具有毛笔书写效果的图片,保存在系统默认的根目录下,详细位置为:/scard0/picture,用户可在智能机的相册中轻松找到当前的手写绘图作品。

3 简要设计

3.1 界面设计

为了追求精简干净,绘图界面设计成倒T字形,整个界面中只有底部有常驻工具栏,提供基本的操作按钮,右侧为滑动窗口小图标。为了回避按钮较多造成的不美观,设计时放弃了较多的按钮,只提供了,即时分享,保存绘画,清除绘画三个个按钮。手机全屏全部是绘画区,而且最底部的工具栏采用透明设计,这样可以将绘画区的面积最大化,使手写的感觉更加舒适。

3.2 功能设计

为了是此款独立软件使用起来更加方便,功能上设计了两个滑动窗口。一个是底部滑动窗口,一个是右侧滑动窗口。其中,底部滑动窗口可向上滑动,提供绘制的图片预览功能,相当于相册。同时设计了点击预览图片跳转到相册,长按图片可删除的功能,这样既可以快速删除,也可以充分调用手机自带相册的其他功能。而右侧设计实现的滑动菜单,为了补充绘画功能,提供了笔触调节的功能,如:笔画粗细调节,笔墨浓淡设置,橡皮擦,撤销上一步操作等。使软件功能更加完整。

4 技术实现

由于此款APP是Android上的单机软件,软件体积应尽量小,所以我们并没有采用庞大的笔画库设计,将用户的手写笔迹与数据库中的笔画进行匹配,而是直接对手写笔迹进行取样、参数调整、后台处理、图形回显等一系列操作产生仿真图像。

毛笔效果说明:毛笔笔尖一般是由兽毛扎成束状,其下笔并不如铅笔一样是单一轨迹,因而下笔会有一定程度的纵深与侧倾。在这里,纵深定义为毛笔笔尖各簇毛须所产生的效果。侧倾定义为毛笔非垂直绘画时,由笔杆侧倾产生的局部墨水偏浓,笔画肥厚的效果。

5 效果模拟

5.1 纵深效果

为了方便叙述,我们定义如图1所示的ABCD这样四个点。

其中AB方向为绘制方向,CD方向与AB方向垂直。假设点C到线段AB的距离为2个单位长度(这个长度由笔画粗细决定,可以人为设置),那么点D到线段AB的距离应该与C相近,但不相等,如2.3或2.5个单位长度,这个数值通过手写的按压面积获取,并进行一定的处理。

在手写过程中,线段AB是我们所能实际捕捉到的轨迹。为了模拟毛笔的纵深效果,我们将在线段CD的长度范围内,作线段AB的平行线(严格的说并不是平行线而且大多数都不是平行线),并通过对这些平行线的数目及分布进行合理调整,来达到目的,如图2所示。即在线段AB周围离散地分布一组线段来模拟毛笔的笔须,当这一组线段的数目足够多,并且位置足够合理的时候,就能达到仿真毛笔笔迹的效果。

5.2 侧倾效果

当自由绘制的时候,笔画路径显然不如上述规整。为方便叙述,我们假设前一个笔画路径的取样点为O,现在正在绘制的取样点为P,P为侧倾效果产生后实际绘制的点,即将绘制出的点为Q。并以点P为圆心,绘制一个指定半径的圆,这个半径由笔画的粗细决定,可以在软件的右滑菜单中人为调节。如图3所示。

在手写过程中,我们对手写笔画进行取样。当点Q绘制成功的时候,通过计算点OPQ之间的夹角,决定P的位置,并绘制OP,Q P线段。为了防止生成的图像变形,点P有相当高的概率落在以P为圆心的指定的圆中,在测试的算法中,这个概率在90%以上。当单位线段上,取样点恰当时,可以较好的达到仿真笔迹的效果。这里需要特别说明的是,取样点不能太多,太多会导致笔迹没有浓淡差别。

6 结论

综上所述,为补充手写绘板的娱乐性与艺术性,本文设计提出了一款基于Android平台的手写毛笔图形生成APP,并给出了模拟笔触的关键算法。该软件界面精简,操作简单,可玩性强,具有良好的娱乐性。

参考文献

[1]张海江.中国水墨画仿真中几个关键问题的研究[D].天津大学,2004.

[2]陈露开.基于轮廓方法的实时手写美化技术及应用[D].华南理工大学,2014.

[3]熊文阔.基于Android平台手机图形编辑软件的设计与实现[D].北京邮电大学,2011.

作者简介

刘裕拯(1995-),男,现为四川大学本科生。计算机科学与技术专业。

作者单位

四川大学计算机学院 四川省成都市 610207

猜你喜欢
手写
抓住身边事吾手写吾心
基于集成学习的MINIST手写数字识别
初心文学社:不忘初心,我以我手写我心
深度学习在手写汉字识别中的应用综述
基于CUDA和深度置信网络的手写字符识别