课程设计报告书

Android大作业

学 院 计算机科学与工程学院

专 业 计算机科学与技术一班

学生姓名

小组成员

学生学号

指导教师

课程编号

课程学分

起始日期

教师评语 教师签名:日期:

成绩评定

备注

Android大作业

魔幻相机

一、选题背景

据统计,中国目前已经有4.874亿手机用户。大部分消费者选择手机产品的首要选择之一就是手机的拍照功能、像素以及清晰度。尤其是女性人群,想要把人物等照片弄得好看又有意境。目前市场上虽然有Photoshop和Adobe Illustrator等专业图像编辑软件,但其学习门槛太高。因此我们小组制作出《美图照相机》手机android软件,为该人群提供便利。

该android软件实现了基本拍照功能、图片时间事件等分组功能、图片滤镜功能、图片色彩调节功能。用户可以随时随地使用该软件进行拍照、照片事件保存、照片滤镜修改、照片色彩修改等,轻松获得美观大方的照片以及简洁的照片分类。

二、方案论证(设计理念)

基于JDK-1.8的开发平台,运行于android API 12及以上平台,大部分android手机兼容该app。

该软件主要运用到android中的控件,异步加载,缓存等知识、java中的反射继承多态,内部类知识,色彩矩阵变换处理图像、颜色数组及颜色分量实现滤镜知识等等。

整个软件可以分成四个模块,拍照功能、照片分类功能、滤镜功能、色彩调节,图片多点触控功能。

拍照功能:

我们由于自己实现原生相机的难度较大,涉及图像处理的知识较多,我们选择android的隐式Intent来调用系统相机。

照片分类功能:

按照相片的时间进行分类

使用缓存技术

滤镜功能:

滤镜是指安装在相机镜头前过滤自然光的附加镜头,用来实现调色和添加效果。软件实现的滤镜可以模拟大部分的镜头滤镜,如色温变换滤镜(LB)和强调滤镜等.

软件模拟镜头滤镜中,实现滤镜功能是对照片中的色彩进行映射的过程。且可以为照片增加光线变化(如 LOMO 的暗角效果)、叠加材质和应用相框等等等,而我们采取最基本的颜色映射方法。 颜色映射是指将原来照片中的每一种颜色,通过某种映射方法转换成另一种颜色,从而使图片显示出不同的色调,改变图片的意境。

色彩调节功能:

一张好的照片,除了要有好的内容外,色彩和层次感也一定要分明。有彩色系的颜色具有三个基本特性:色相、纯度(也称彩度、饱和度)、明度

色相: 色相是有彩色的最大特征。其能够比较确切地表示某种颜色色别的名称。调节色相时会很直观看到照片显示的色调是蓝、黄或其他颜色。

纯度: 色彩的纯度是指色彩的纯净程度,它表示颜色中所含有色成分的比例。含有色彩成分的比例愈大,则色彩的纯度愈高,含有色成分的比例愈小,则色彩的纯度也愈低。

明度:明度是指色彩的明亮程度。各种有色物体由于它们的反射光量的区别而产生颜色的明暗强弱。色彩的明度有两种情况:一是同一色相不同明度,二是各种颜色的不同明度。

有彩色的色相、纯度和明度三特征是不可分割的,通过改变图片的饱和度、色温、亮度来进行调节图片的色彩,从而使图片色彩饱满,别有韵味

图片多点触控功能:

实现了图片的平移缩放等功能。具体为两指或者多组放大缩小,图片双击放大或者缩小,图片平移。

三、过程论述

该android 软件的实现功能共有四大模块:拍照功能、照片分类功能、滤镜功能、色彩调节,图片多点触控功能。

Activity之间的跳转如下:

CameraActivity

(照相功能)

导航:

该模块的实现过程是:

1.加载menu 目录下的xml文件。

2. 使用java的反射机制,实现隐藏菜单从ActionBar下方出现以及item图标的显示。

由于代码的重复出现,代码设计成工具类。

主界面:

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

界面截图:

拍照功能:

该模块的实现过程是:

通过Intent 的隐式调用,调用其他的系统相机应用。

在OnActivityResult中处理图片;

图片浏览功能:

1.ZoomImageView类继承于ImageView,实现了OnTouchListner等接口

2.该类包括双击缓慢放大,图像平移,多指触控等功能

3.具体表现为两指或者多组放大缩小,图片双击缓慢放大或者缩小,图片平移随手指移动。

4 、通过OnTouch事件以及Matrix(该类实现图片的缩放平移)这个类,并在缩放或平移过程中,进行边界检查

5 以下为放大图片:

滤镜功能:

该模块实现功能是:

获取当前图片的像素值

2. 在Gallery中选则滤镜功能。

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

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

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

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

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

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

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

如图 Figure-滤镜功能

Figure 1 滤镜功能

色彩调节功能:

该模块实现功能是:

通过三条SeekBar来改变图片的色温、饱和度、明度;

获取SeekBar上长度,通过相应数学计算公式,获得相应的色相、饱和度、明度的数值;

通过色彩矩阵变换来处理图像,并显示相应图片。

调节喜欢的色调后,可保存在手机图库中。

如图figure-色彩调节:

Figure 2色彩调节

照片分类功能:

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

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

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

课程设计总结

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

通过本次课程设计,我更好的掌握了Android基本控件的应用以及Android布局的编写。

学会合团队作,动手能力得到加强。

对Android自定义空间有了更深刻的理解和改写能力,阅读源代码的能力进一步得到提高。

对Android各种View都有一定的了解,对View的内部机制包括测量(onMeasure) 布局(onLayout)绘制(onDraw)有了了解

参考文献

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

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

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

[ 4] Android 官网教程 网址:http://hukai.me/android-traini

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

  1. 安卓APP源码和设计报告——体重档案APP(含答辩PPT)

    移动媒体程序设计实现课程设计报告 课题名称:体重档案APP小组 小组成员:xxx xxx xxx 摘要: Window 操作系统的诞生成就了微软帝国,同时也造就了 PC 时代的繁荣, 然而如今,以 A ...

  2. 安卓APP源码和设计报告——个人通讯录

    摘 要 随着移动设备制造技术和移动通信网络的迅猛发展,全球手机用户日益增加,手机成为了很多人日常生活中必不可少的一部分,手机业在日益发展的同时,人们对手机的功能需求和体验需求也越来越高,因此各种智能手 ...

  3. 安卓APP源码和设计报告——智能垃圾桶

    课程名称: 移动互联网应用开发 实验名称: 姓名/学号: 专业/班级: 指导教师: 实验时间: 一.案例功能需求 该系统是了解垃圾分类以及物品查询属于哪类垃圾的智能化APP.该系统可以实现用户登陆注册 ...

  4. 安卓APP源码和设计报告——基于Android的垃圾分类系统

    <移动应用开发>大作业报告 题 目    基于Android的垃圾分类系统 系 部     班 级     学 生 姓 名     学 号     指 导 教 师     时 间     ...

  5. 安卓APP源码和设计报告——快递查询录入系统

    <多媒体通信技术> 题 目: 快递 完 成 日 期 2022年05月 目 录 1 绪论1 2 设计方案2 2.1 设计思路和方案2 2.2 功能要求2 2.3 设计的流程图2 3 设计过程 ...

  6. 安卓APP源码和设计报告——手机天气预报系统

    目录 摘要1需求分析2一.开发背景2二.项目需求分析2总体设计2一.系统规划2二.系统功能界面3设置预报城市界面:3天气显示界面:4Widget 桌面小部件界面:5三.设计目标6系统设计6一.开发及运 ...

  7. 安卓app源码和设计报告——简易记账本

    课 程 设 计(实训)说 明 书 题目 实现简易记账本功能 专 业 班 级 学生姓名 同组学生 指导老师 课程设计(实训)评语 学生姓名 专业 班级 2 题目 实现简易记账本功能 评语: 成绩: 优 ...

  8. 安卓APP源码和设计报告——运动健身教学

    实 验 报 告 课程名称 实验名称 指导教师 专业 班级 学号 姓名 目 录 一.设计背景31. 需求分析32. 课题研究的目的和意义3二.系统需求分析与开发环境31. 系统功能需求32.系统界面需求 ...

  9. 安卓APP源码和设计报告——仿淘宝购物APP

    2021-2022学年第二学期期末考试 <Android手机软件开发>实践考核 项目设计说明书 项目名称: 购物APP的设计与实现 专 业: 计算机科学与技术 学 号: 姓 名: 任课教师 ...

最新文章

  1. sqoop 常见错误以及处理方式
  2. pymongo连接mongodb的replset
  3. 我的世界javaui材质包怎么下载_【我的世界指南】七、使用皮肤
  4. c语言wb和wb 区别,C语言文件 w+与wb+区别
  5. raw_input() 与 input() __ Python
  6. 开源三维地球_用开源拯救地球
  7. mysql跨服务器链表_MySQL 源码链表的实现
  8. 查询天地图访问配额 https://console.tianditu.gov.cn/api/statistics
  9. mysql 查询记录成纵向_Mysql中查询(数据库中的)纵向转(查询结果显示为)横向.
  10. 面向机器学习的自然语言标注2.4 语料库的规模
  11. 搜狗浏览器扩展开发过程
  12. 清华梦的粉碎—写给清华大学的退学申请(by王垠)
  13. 基于天牛须搜索算法的函数寻优算法
  14. 思想实验及其在科学发展中的作用
  15. 天坑专业成功跨考计算机,研0渣渣前来报到
  16. Delphi Thread 多线程编程(6)
  17. 布袋除尘器过滤风速多少_太原布袋式除尘器过滤风速一般多大
  18. 记事本写HTML中文出现乱码的问题
  19. QQ群成员提取器, 也可以关键字搜索群
  20. 终于我看到了一支活动活动铅笔和一外哆啦a梦的玩具

热门文章

  1. 华为OD机试 - 相对开音节(C 语言解题)【独家】
  2. 今夕何年 模拟 思维题
  3. 2017年8月16日训练日记
  4. 一个故事,让你一生不再生气
  5. python量化 双均线策略(金叉死叉)
  6. python idle运行显示找不到指定文件_Robotframework ride ,运行后提示, [WinError 2] 系统找不到指定的文件。...
  7. 题目53 停车场(ok)
  8. Jolla手机恢复终极大法
  9. 自动驾驶系统中视觉感知模块的安全测试
  10. scala akka 修炼之路6(scala函数式柯里化风格应用场景分析)