canvas教程

优秀范文十篇 www.fanwen99.cn(3)

字号+ 作者:H5之家 来源:H5之家 2017-07-21 14:05 我要评论( )

随着社会的发展,时代的进步,人们对生活品质的不断提高,对生活的享受心理也越来越强,越来越注重休闲娱乐。只有抓住现在人们的心理需要才能在现在有得一席之地。同样在手机软件方面也是一样的,现在的大多数人的

随着社会的发展,时代的进步,人们对生活品质的不断提高,对生活的享受心理也越来越强,越来越注重休闲娱乐。只有抓住现在人们的心理需要才能在现在有得一席之地。同样在手机软件方面也是一样的,现在的大多数人的手机里面占据一大部分内存的都是休闲娱乐的游戏,就是在无聊的时候打发时间的。而我们这款android小画家画图软件就是提供给那些爱画简笔画的画图爱好者,所以,既然现在有这个需求,我们就可以满足用户的这个需要,开发这么一款画图的软件。

3.4软件概念结构设计

这一设计阶段是在需求分析的基础上而进行的,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑设计打下基础。

概念结构的主要特点是:

(1) 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满

足用户对软件功能的要求。

(2) 易于理解,从而可以用它和不熟悉使用手机的用户交换意见,用户

的积极参与是软件开发设计成功的关键。

(3) 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和

扩充。

在小画家软件开发中存在系统用例、开发人员与用户、数据流程处理、数据

总体流程图

数据流图处理图

数据表述E-R图

第四章 软件详细设计

4.1软件设计原理

本软件基于android系统智能手机,在android系统设备上运行,就像打开手机播放器一样简单打开软件就可以操作。它是随着android系统手机的兴起,借助android系统平台开发的一个软件。主要是利用不断成熟的android系统,结合java语言与XML而产生的软件。Java 语言具有卓越的通用性、高效性、平台移植性和安全性,而可扩展标记语言XML是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。这样开发的软件不仅在界面上比较美观,而且可以在android系统平台上稳定运行。 4.2软件模块设计

打开软件即可进入到画画操作界面,也可以选择各种各样的功能,利用目前有的功能可以随心所欲的画出想要的简笔画,在选择各种各样的功能的时候也有界面的跳转弹出和菜单功能的选择。因为现在是测试版本,不存在与互联网连接的情况,这样对用户的私人隐私也具有绝对的安全保密,因为只是一款画图的软件,所以我们不会访问用户的手机联系人、短信、以及地理位置信息,同时也不需要获得手机的任何权限,只是能够运行和使用就可以了,这样给开发团队的建议也只能发在开发团队的邮箱中。下面是软件各种界面的截图以及部分代码。

打开软件,就如同打开音乐播放器一样简单,打开之后,就进入软件的主界面,这就是一张画布,可以在上面随意画自己喜欢的线条。这是软件最基本,也是最重要的部分,在软件中首先要创建这样一个activity,才能展开其他的功能。

首先要在手机界面创建一个这样的画布,这是我们最重要的起步,创建一个界面activity,才能进行下一步的操作,用public公有类,因为主要是主界面activity涉及的其他很多方法的访问,设置各种功能方法的类型、初始值。就如下所示, /**

*主要视图类

*/

public class PaintPad extends View {

float tempX, tempY;

private Bitmap bitmap = null; private Canvas paper = null; boolean isMoving = false; Drawing drawing = null; int bgcolor;

Context context; }

然后添加不同的功能以及设置用setDrawing方法,设置绘画背景色的状态为初始默认状态、绘画形状的当前状态参数为默认空、屏幕上此时的信息为默认初始状态。 /**

*设置绘画形状

* @param drawing

* 当前绘画形状参数 */

public void setDrawing(Drawing drawing) {

this.drawing = drawing; }

public PaintPad(Context context) {

super(context);

this.context = context; //获取屏幕上的信息 ScreenInfo screenInfo = new ScreenInfo((Activity) context);

/**

*创建和屏幕大小的位图

*/

bitmap = Bitmap.createBitmap(screenInfo.getWidthPixels(), screenInfo.getHeightPixels(), Bitmap.Config.ARGB_8888);

paper = new Canvas(this.bitmap);

//设置背景颜色

paper.drawColor(getResources().getColor(R.color.color_default_bg));

this.isMoving = false; }

手指在屏幕上触动的时候,用private 私人方法fingerMove,会记录下所运动的轨迹或者方法所规定的形状,处理手指的动作,这是让手指在画布activity的界面处理手指所留下的坐标,将所有坐标的点组成的线就是所画出来的图形。

private void reDraw() {

invalidate(); } /**

* 处理手指的动作。 * @param x

* X坐标 * @param y

* Y坐标 */

private void fingerUp(float x, float y) {

this.tempX = 0; this.tempY = 0;

drawing.fingerUp(x, y, paper); this.isMoving = false; } /**

* 处理手指的动作 * @param x

* @param y */

private void fingerMove(float x, float y) {

this.tempX = x; this.tempY = y;

this.isMoving = true;

drawing.fingerMove(x, y, paper); } /**

* 处理手指的动作 * @param x * @param y */

private void fingerDown(float x, float y) {

this.isMoving = false;

drawing.fingerDown(x, y, paper); }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 设计师毕业实习报告范文3篇

    设计师毕业实习报告范文3篇

    2017-03-27 15:00

  • PS抠图神器:KnockOut 2.0汉化版下载及教程

    PS抠图神器:KnockOut 2.0汉化版下载及教程

    2017-02-15 18:01

  • 动漫专业大学生实习报告范文

    动漫专业大学生实习报告范文

    2016-07-13 13:00

  • 体验未来:10个会让你惊叹不已的HTML5画布(canvas)技术应用演示

    体验未来:10个会让你惊叹不已的HTML5画布(canvas)技术应用演示

    2016-05-08 13:00

网友点评
m