安卓APP源码和设计报告——魔幻相机

88 阅读3分钟
  1. 导航:
    该模块的实现过程是:
    1.加载menu 目录下的xml文件。
    2. 使用java的反射机制,实现隐藏菜单从ActionBar下方出现以及item图标的显示。
  2. 由于代码的重复出现,代码设计成工具类。

主界面:

  1. 主界面是一个滑动的界面,采用继承于HorizontalScrollView改写的控件进行布局
  2. 界面截图:

图片

图片

拍照功能:

该模块的实现过程是:

  1. 通过Intent 的隐式调用,调用其他的系统相机应用。
  2. 在OnActivityResult中处理图片;

图片

图片

图片浏览功能:
1.ZoomImageView类继承于ImageView,实现了OnTouchListner等接口
2.该类包括双击缓慢放大,图像平移,多指触控等功能
3.具体表现为两指或者多组放大缩小,图片双击缓慢放大或者缩小,图片平移随手指移动。
4 、通过OnTouch事件以及Matrix(该类实现图片的缩放平移)这个类,并在缩放或平移过程中,进行边界检查
5 以下为放大图片:

图片

滤镜功能:
该模块实现功能是:

    1. 获取当前图片的像素值
  1. 在Gallery中选则滤镜功能。

  2. 其中Gallery中的图片均经过滤镜处理后显示

  3. Gallery中可以快速滑动来选去喜欢的滤镜功能

  4. 点击边界上的图片后,其后继图片将自动移动到当前界面。

  5. 此处一共有25中滤镜特效,每种有着不同的色调计算公式。

  6. 将当前图片的颜色数组及颜色分量进行相应改变

  7. 获取改变后的图片并显示。

  8. 如喜欢可保存在手机图库中。

如图 Figure-滤镜功能

图片

Figure 1 滤镜功能

色彩调节功能:

该模块实现功能是:

  1. 通过三条SeekBar来改变图片的色温、饱和度、明度;
  2. 获取SeekBar上长度,通过相应数学计算公式,获得相应的色相、饱和度、明度的数值;
  3. 通过色彩矩阵变换来处理图像,并显示相应图片。
  4. 调节喜欢的色调后,可保存在手机图库中。

如图figure-色彩调节:

图片

Figure 2色彩调节

照片分类功能:

1.ListViewAdapter继承BaseAdapter,为相册主界面的ListView提供数据源,每一个子项有一个TextView和GridView分别用于显示时间和分类好的图片。

2.PhotoAdapter继承ArrayAdapter,为GridView提供数据源,每个子项有一个ImageView,用于显示图片。

3.在GridView中使用AsyncTask异步加载图片。

图片

  1. 课程设计总结

1.本次课程设计,我主要负责主界面以及图片展示部分以及ActionBar的编写。

  1. 通过本次课程设计,我更好的掌握了Android基本控件的应用以及Android布局的编写。
  2. 学会合团队作,动手能力得到加强。
  3. 对Android自定义空间有了更深刻的理解和改写能力,阅读源代码的能力进一步得到提高。
  4. 对Android各种View都有一定的了解,对View的内部机制包括测量(onMeasure) 布局(onLayout)绘制(onDraw)有了了解

参考文献

[ 1 ] 《Java开发手册》.桂颖, 谷涛.电子工业出版社

[ 2 ] 《Android 第一行代码》.郭霖 电子工业出版社

[ 3] 《java核心技术》.Cay S.Horstmann Gary Cornell .机械工业出版社