基于Android的绘本图像处理软件的设计与实现
2018-08-08葛禹婉淇
葛禹婉淇
(陕西学前师范学院美术系,陕西西安710100)
研究表明,儿童对于图像的认知能力更强,其更易在欣赏图画的过程中学习并理解文字[1]。绘本读物的出现,能有效培养儿童的阅读习惯、艺术情操和独立思考的能力[2-4]。相比于传统的插画读物,绘本读物结合使用图文更能表达绘本的表意,实现“图文合一”[5]。
随着智能手机和平板电脑技术的发展,移动智能设备越来越受到儿童和家长的欢迎,而使用互动绘本进行儿童的教学需求也越来越高[8]。传统的纸质绘本以纸张为媒介,使用文字、图标和插画的方式来表达与呈现信息。但这种表达方式是平面的、静止的,同时纸质绘本无法记录动画和声音,不能保证信息的时效性[3]。而数字绘本以数字化的形式展示各种信息,具有互动性、实时性和智能化的特点。一方面,使用文字、图像和声音立体化呈现各种信息;另一方面,使用触摸或点击的方式进行交互,使绘本的阅读方式更加简便[2-5]。
数字图像处理(Digital Image Processing)[6-10]是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。因此本文将数字图像处理的优势运用到绘本的制作中。
纸质绘本与数字绘本存在交互体验方式的不同、感官体验效果不同、存储信息的容量不同和发行方式的不同。针对数字绘本的这些优势,本文基于Android平台,设计了一款绘本图像处理软件。该软件结合文字、图像、动画和语音等表达方式,使用触摸与点击的方式进行交互,用户在使用该软件阅读绘本的同时,也能进行简单的图像处理操作,个性化完善绘本。
1 总体功能模块总体
儿童互动绘本软件基于Cocos 2D开发框架设计,该框架包括图形引擎、声音引擎、物理引擎、Box2d、Chipmunk和脚本库Lua,支持Android加速器和触控,可大幅提高软件的开发效率[15]。软件启动后,将播放一段开机动画,然后进入主菜单,用户可选择进入阅读模块或动画设计、音效设计等功能模块。此外,在每个模块中均可点击返回按钮返回主界面。同时,还可以使用Home键退出系统。
软件总体功能模块如图1所示,包括主菜单模块、动画设计模块和音效设计模块。在主菜单模块可以进行内容浏览、目录选择和系统设置,用户可选择静态浏览与动态浏览两种模式,也可设置系统的音频;本系统的动画设计模块可以制作开机动画和视频播放,亦可再该模块进行一些简单的图像处理操作,该模块支持的视频格式包括MP4和MOV;音效设计模块用于设置动画的音效,烘托氛围,该模块支持的音频格式有MP3、WAV、AAC和AMR等。
图1 系统总体功能模块
阅读模块是该系统的核心,用户可以选择动态阅读和静态阅读两种模式。在阅读模可以择欣赏图片、绘本或阅读相关文字介绍,同时系统给出了目录的索引以方便阅读,阅读模块的流程如图2所示。
图像处理模块主要是将绘本图片载入到预先设计好的绘本主体内进行处理,主要的处理方式有锐化、直方图均衡化、裁剪、上下、左右翻转和亮度处理等;最后将处理后的图像通过程序编辑成绘本电子书;最后载入音频。
图2 阅读模块流程
系统的软件实现流程如图3所示,结合使用图片动画和场景音效,并为用户提供人机交互的功能,寓学于乐。儿童互动绘本软件将学习与娱乐相结合,在增强儿童学习兴趣的同时,也能提高学习效果和热情。该软件基于Cocos 2D开发框架设计,并使用FLASH技术生成动画,结合音效引擎,做到“绘声绘色”,下面分别重点介绍软件的动画设计与互动设计两个功能。
图3 软件实现流程
1.1 动画设计
传统的绘画方式使用画笔、橡皮擦、尺子和各种颜料等绘画工具,但随着数字技术的发展,使用数字绘画逐渐替代原来的绘画方式。数字绘画具有随意复制和不受时间限制的特点,并可通过网络传播数字绘画,更加方便。
本软件的动画设计包括风格设计、图标制作和主菜单的页面设计3个过程。风格设计需要结合儿童的需求,使用简单的形象和一卡通图案为主;图标制作也应符合儿童的需求,采用符合儿童的插画手绘手法和色彩;主菜单页面设计尽量做到简单方便儿童使用,并通过数字制作和手绘技法,以增强儿童的兴趣及使用热情。
1.2 互动设计
互动设计即实现儿童与Android机间的信息交互,主要包括互动界面布局设计与互动规则设计两个过程。
互动界面布局设计用于将核心内容和元素放在使用者注意力集中的地方,凸出软件界面的兴趣中心。
互动规则设计即软件开发者与用户间的行为约束规则,本软件设置使用最长时限,用于保护儿童的视力,并尽量使用更加简单的操作,儿童只需进行点击和手滑即可达到想要的效果。
2 系统实现
2.1 Android平台搭建
文中使用eclipse和Android SDK进行软件开发,首先需要搭建Android的开发环境,包括eclipse、SDK、JDK和ADT的下载、安装与配置。
在安装好Android开发环境后,安装Cocos 2d引擎。Cocos 2d是一个开源框架,有助于提高开发和创作的效率,其基本框架类图如图4所示。
图4 Cocos 2d的基本框架类图
使用Cocos 2d进行触控事件开发,即Touch事件,需要通过NS Set发送触摸传感器的信息,并提供了如图5所示的事件响应函数。
图5 Touch事件响应函数
2.2 系统具体实现
系统具体实现包括主菜单模块、绘本主体模块、动画设计、音效设计、物理引擎以及其他技术实现细节部分,下面分别进行具体介绍。
2.2.1 主菜单模块
主菜单模块的设计极其重要,因其直接影响着用户的感受,须能吸引读者并展示出设计的主题。
具体包括绘本游戏、游戏设置和浏览模式3个子功能,用户可点击进入相应模块浏览内容或设置系统参数。主菜单模块的场景用例图,如图6所示。
图6 主菜单模块场景用例图
2.2.2 绘本主体模块
绘本主体模块用于表现场景的内容,也可用来处理交互信息和管理各种对象。主要包括界面布局设计以及绘本场景图片的导入两个步骤。
图7 绘本场景图片导入的说明
界面布局设计按照常规的方法将屏幕分为两个部分,上方9/10像素区域用于显示主要内容。控制面板放在下面的1/10像素区域,用于控制软件的进程和暂停操作。
软件根据绘本故事的内容需求导入场景图片,详细流程和说明如图7所示。
同时,为了满足儿童的需求,与传统的纸质绘本不同的是,该系统的绘本主体模块添加了延伸和导读功能。导读功能提供了整个绘本的成型过程,方便家长和儿童与创作者间的沟通;延伸功能提供了绘本的指导材料,增进家长与儿童间的交流,绘本主体结构如图8所示。
2.2.3 动画设计
为了增加绘本的趣味性,本文在绘本中添加了一些动画。动画的本质是一系列连续播放的图片,因此为了实现动画的效果,必须先提供演示图片。本文使用FLASH工具做出动画效果,并适当的调整图片的宽和高以适应绘本的界面布局大小。
2.2.4 音效设计
图8 绘本主体结构
为了烘托出绘本故事的气氛,本软件添加了音乐和音效设计功能。软件使用Cocos 2d的音频引擎进行音乐事件的处理,即在Cocos的CocosDenshion添加一个Simple Audio Engine对象类来实现该功能。首先,初始化表示层;然后通过调用Simple Audio Engine类中的音频播放方法来播放音频文件。
2.2.5 物理引擎
本软件仅在使用动画的地方需要物理引擎,同时为了适应系统的重力感应需求,本文直接使用Cocos的Chipmunk物理引擎来实现。
2.2.6 技术实现细节
在播放动画时需要加载声音和音乐,在场景转换时也需实现场景的变换与音乐的播放。具体实现步骤如下所述:
1)打开Eclipse,创建View-changed类;
2)添加AVFoundation类;
3)修改Music.java文件,完成music的初始化;
4)在 InterfaceBuilder中拖入 Round Rect Button组建,并将标签修改为“Play”;
5)将需要播放的音频文件放入项目的资源库中;
6)运行该程序,并点击“play”,即可听到预先放入的音频。
3 结束语
针对数字绘本在交互方式、感官体验效果和存储容量的优势,本文基于Android平台,设计了一款绘本图像处理软件。该软件结合文字、图像、动画和语音等表达方式,使用触摸与点击的方式进行交互,用户在使用该软件阅读绘本的同时,也能进行简单的图像处理操作,个性化完善绘本。该软件基于Cocos 2D框架进行开发,包括主菜单、动画设计和音效设计3个模块,实现浏览、目录选择和系统设置,动画设计以及音效设计3个功能。软件实现和测试结果表明,该软件能能增强绘本的趣味性和易用性,具有一定的实用性。