随笔分类 -  Android多媒体开发高级教程

3.2 在位图上绘制位图
摘要:在深入探讨用来更改图像的具体机制之前,让我们看看如何创建一个新的空位图对象,并在其上绘制已有的位图。这是将用来创建图像的更改版本的过程。上述示例获得了一个位图对象,使用用户选择的一幅图像对其进行实例化。正如子啊第一章中所介绍的那样,通过BitmapFactory的decodeStream方法进行实例... 阅读全文

posted @ 2014-08-23 09:05 宁静致远,一览众山小 阅读(378) 评论(0) 推荐(0)

3.1 使用内置Gallery应用程序选择图像
摘要:为了使用一个预装Android应用程序中存在的功能,利用意图通常是最快捷的方式。出于介绍本章中示例的目的,让我们看看如何利用内置的Gallery(图像库)应用程序选择希望使用的图像。我们将要使用的意图是一个通用的Intent.ACTION_PICK,它通知Android:我们想要选择一块数据。同时,... 阅读全文

posted @ 2014-08-22 17:30 宁静致远,一览众山小 阅读(419) 评论(0) 推荐(0)

第3章 图像编辑和处理
摘要:随着手持设备变得越来越强大,许多曾经只在桌面上存在的功能如今移动设备上也成为可能。虽然图像编辑和处理曾经是诸如PhotoShop之类的桌面应用程序的功能范畴,但是现在也可以在手机上实现这个功能。本章将介绍如何处理捕获后的图像:了解如何通过旋转和缩放来改变他们,如何调整亮度和对比度,以及如何合成两幅或... 阅读全文

posted @ 2014-08-22 16:44 宁静致远,一览众山小 阅读(333) 评论(0) 推荐(0)

2.3 本章小结
摘要:可能有无数的理由需要建立自己的Camera应用程序,而不仅仅是在自己的应用中利用内置的应用程序。我们可以随心所欲的实现各种Camera应用程序,从简单的倒计时拍照应用程序到自己的时间推移系统,以及更多的应用程序。接下来将介绍如何处理已经捕获的图像。 阅读全文

posted @ 2014-08-22 16:29 宁静致远,一览众山小 阅读(135) 评论(0) 推荐(0)

2.2.2 构建时间推移摄影应用程序
摘要:我们都已经看过时间推移摄影的完美范例。他是在一段时间内拍摄多张照片的过程。它可能是每分钟,每小时甚至每周拍摄一张照片。通过查看一系列时间推移的照片,可以了解事物如何随时间而变化。一个可能的示例是观察一幢建筑物如何建造,另一个可能的示例是记录一朵花如何成长和盛开的。由于已经构建了一个基于定时器的Cam... 阅读全文

posted @ 2014-08-22 16:25 宁静致远,一览众山小 阅读(254) 评论(0) 推荐(0)

2.2.1 构建基于定时器的Camera应用程序
摘要:为了纠正刚才所描述的情况,可以再照相时添加一个时间延迟。接下来更新SnapShot示例,使得在按下按钮10秒钟后开始照相。为了实现这个功能,需要使用一个类似java.util.Timer的对象。但是,在Android中使用Timer对象会导致一些问题,因为它引入了一个单独的线程。为了使用单独的线程与... 阅读全文

posted @ 2014-08-22 15:05 宁静致远,一览众山小 阅读(231) 评论(0) 推荐(0)

2.2 扩展定制的Camera应用程序
摘要:Android上内置的Camera应用程序缺少几个基本功能,其中之一是在少量时间(例如10秒或30秒)之后照相的能力。此功能通常对于安装了三脚架的摄像头非常有用。它能完成的一件事就是摄影师能够建立一个场景,设置计时器,然后跑进该场景。虽然不会经常这样使用移动电话,但是它在某些情况下将会非常的有用。... 阅读全文

posted @ 2014-08-22 13:58 宁静致远,一览众山小 阅读(189) 评论(0) 推荐(0)

2.1.4 汇总
摘要:让我们来看一下完整的示例。下面编写的代码可在Android 2.2和更高版本上运行,但是只须稍作改动,这段代码应该就能在Android 1.6和更高版本上运行。在注释中特别注明了要求高于1.6版本的部分。 1 package com.nthm.androidtest; 2 3 import jav... 阅读全文

posted @ 2014-08-22 10:58 宁静致远,一览众山小 阅读(142) 评论(0) 推荐(0)

2.1.3 实现Camera对象
摘要:既然已经建立了活动季玉兰Surface,现在我们准备好开始使用实际的Camera对象。当创建Surface时,由于SurfaceHolder.Callback的存在,他将在代码中触发surfaceCreated方法。此时可以通过调用Camera类上的静态方法open获得Camera对象。 1 ... 阅读全文

posted @ 2014-08-21 17:30 宁静致远,一览众山小 阅读(475) 评论(0) 推荐(0)

2.1.2 预览Surface
摘要:同样,在开始使用摄像头之前,还需要创建某种类型的Surface(表面),使得Camera应用程序能够在其绘制取景器(viewfinder)或预览图像。Surface是Android中的一个抽象类,表示绘制图形或图像的位置。提供一个绘图Surface的最简单的方法就是使用SurfaceView类。Su... 阅读全文

posted @ 2014-08-21 11:42 宁静致远,一览众山小 阅读(448) 评论(0) 推荐(0)

2.1.1 Camera权限
摘要:为了使用Camera类捕获图像,需要在AndroidManifest.xml文件中指定必须的CAMERA权限1 阅读全文

posted @ 2014-08-21 10:50 宁静致远,一览众山小 阅读(325) 评论(0) 推荐(0)

2.1 使用Camera类
摘要:可以使用Android中的Camera类访问该设备上的摄像头硬件。它使我们能够真正捕获图像,并通过其嵌套的Camera.Parameters类更改不同的属性设置,例如是否应该将闪光灯激活以及如何设置白平衡的值。 阅读全文

posted @ 2014-08-21 10:47 宁静致远,一览众山小 阅读(123) 评论(0) 推荐(0)

第2章 构建定制的Camera应用程序
摘要:在第一章中,我们了解了如何利用Android内置的Camera程序,为任何其他的应用程序提供一个现成的照片捕获组件。虽然这位用户提供了一个标准的接口,并且对程序员而言非常简单,但是他没有提供太多的灵活性。例如,如果希望照片捕获应用程序支持时间推移摄影,那么不能简单的使用内置应用程序来实现该功能。幸运... 阅读全文

posted @ 2014-08-21 10:42 宁静致远,一览众山小 阅读(159) 评论(0) 推荐(0)

1.3 本章小结
摘要:本章介绍了Android上图像捕获和存储的相关的基础知识。我们看到了使用Android上内置的Camera应用程序的强大功能,以及通过一个意图如何有效地利用其功能。我们也了解到Camera应用程序提供了一个良好的和一致的接口,能够为Android应用程序添加图像捕获功能。我们也注意到在处理大图像时需... 阅读全文

posted @ 2014-08-21 10:10 宁静致远,一览众山小 阅读(110) 评论(0) 推荐(0)

1.2.5 内部元数据
摘要:EXIF表示可交换的图像格式(Exchangeable Image File Format),他是在图像文件保存元数据的一种标准方式。许多数字摄像头和桌面应用程序都支持使用EXIF数据。由于EXIF数据实际上市文件的一部分,因此当文件从一个位置传送到另一个位置时,不应该将它丢失。例如,当将一个文件... 阅读全文

posted @ 2014-08-21 10:01 宁静致远,一览众山小 阅读(288) 评论(0) 推荐(0)

1.2.4 创建图像查看应用程序
摘要:下面是一个完整的示例,它查询MediaStore以发现图像,并以幻灯片的形式一幅接一幅的向用户展示图像。 1 package com.nthm.androidtest; 2 3 import android.support.v7.app.ActionBarActivity; 4 import an... 阅读全文

posted @ 2014-08-20 17:15 宁静致远,一览众山小 阅读(239) 评论(0) 推荐(0)

1.2.3 使用MediaStore检索图像
摘要:为了说明在Android上使用共享内容提供器的能力,一个示例是使用它们可以很容易的创建一个类似的图像库应用程序。由于内容提供器(当前为MediaStore)在应用程序之间共享,因此为了使得我们自己的应用程序可以查看图像,实际上不需要创建一个摄像头应用程序并采取方法来存储图像。由于大多数应用程序将使用... 阅读全文

posted @ 2014-08-20 17:11 宁静致远,一览众山小 阅读(554) 评论(0) 推荐(0)

1.2.2 更新CameraActivity以使用MediaStore存储图像和关联元数据
摘要:以下的代码是上述示例的更新,它将在MediaStore中保存图像,然后允许添加标题和描述。此外该版本包含几个UI元素,我们将基于用户在该应用程序的操作进程对这些元素的可见性进行管理。 1 package com.bluemobi.nthm.showversion; 2 3 import java... 阅读全文

posted @ 2014-08-20 16:10 宁静致远,一览众山小 阅读(336) 评论(0) 推荐(0)

1.2.1 获得图像的Uri
摘要:为了获得存储图像的标准位置,首先需要获取MediaStore的引用。为此,使用一个内容解析器。内容解析器是用于访问内容提供器(例如MediaStore)的方法。通过传递一个特定的Uri,内容解析器将提供一个MediaStore接口作为内容提供器。由于是插入一幅新图像,因此我们使用的方法时insert... 阅读全文

posted @ 2014-08-20 14:17 宁静致远,一览众山小 阅读(525) 评论(0) 推荐(0)

1.2 图像的存储和元数据
摘要:Android拥有一种在应用程序之间共享数据的标准方法。负责这个功能的类称为内容提供器。内容提供器为不同类型数据的存储和检索提供了一个标准的接口。图像(以及音频和视频)的标准内容提供器是MediaStore。MediaStore在设备上的一个标准位置存放文件的位置,并且为存储和检索该文件的元数据提... 阅读全文

posted @ 2014-08-20 10:13 宁静致远,一览众山小 阅读(392) 评论(0) 推荐(0)

导航