`
java-admin
  • 浏览: 1384749 次
  • 性别: Icon_minigender_1
  • 来自: 陕西.西安
社区版块
存档分类
最新评论

ExifInterface使用,Android 2.0新增类

阅读更多

IT168技术】从Android 2.0开始新增了ExifInterface类,ExifInterface类主要描述多媒体文件比如JPG格式图片的一些附加信息,比如拍照的设备厂商,当时的日期时间,曝光时间,快门速度等。该类位于android.media.ExifInterface的位置,需要调用API Level至少为5即2.0 SDK。

  一、ExifInterface类给我们了一个实用的方法public byte[] getThumbnail () 这个方法可以生成一个缩略图,返回一个字节数组,我们通过以前讲到的通过OutputStream将其保存成一个JPG文件。当然如果要是显示到一个Drawable对象,可以通过decodeByteArray(byte[], int, int) 类来解析这个字节数组,不过具体生成的分辨率还不清楚。

  二、图片的MIME Exif信息

  图片的的Exif信息和MP3的ID3标签类似,使用了属性和值的存储方式。通过public void setAttribute (String tag, String value) 来设置,而获取可以通过 public int getAttributeInt (String tag, int defaultValue) 和 public String getAttribute (String tag) 两种方法都可以,getAttributeInt 重载方法一第二个参数为我们设置的默认值,如果成功则返回相应Tag的值;特定的整数内容为该方法直接返回值。而重载方法二该方法直接返回结果,如果失败则为null。

  目前Android SDK定义的Tag有:

  TAG_DATETIME 时间日期

  TAG_FLASH 闪光灯

  TAG_GPS_LATITUDE 纬度

  TAG_GPS_LATITUDE_REF 纬度参考

  TAG_GPS_LONGITUDE 经度

  TAG_GPS_LONGITUDE_REF 经度参考

  TAG_IMAGE_LENGTH 图片长

  TAG_IMAGE_WIDTH 图片宽

  TAG_MAKE 设备制造商

  TAG_MODEL 设备型号

  TAG_ORIENTATION 方向

  TAG_WHITE_BALANCE 白平衡

  从Android 2.0.1 SDK上看属性不是很多,详细的可能会在以后的版本中添加,调用示例如下

  String sFileName="cwj-android123.jpg";

  ExifInterface exif = new ExifInterface(filename);

  String sModel=exif.getAttribute(ExifInterface.TAG_MODEL);

  最终sModel就是拍照设备的型号,这里我们可以看到是Nexus One或HTC Hero等等的字符,当然是用数码相机拍照从PC上传的是该文件原始生成的设备,比如IXUS 980等等。

 

 

 

http://doc.chinaunix.net/android/200910/488798.shtml

 

 

分享到:
评论
1 楼 mynameliux 2011-10-07  
受教了

相关推荐

    Android ExifInterface

    ExifInterface是Android SDK提供的一款用于读取和修改图片元数据的工具类,特别是与Exchangeable Image File Format(EXIF)相关的数据。EXIF是一种标准,用于存储图像和音频文件的附加信息,如拍摄时间、地点、相机...

    Android中通过Exifinterface读取图片地理位置信息

    ExifInterface是Android SDK提供的一种接口,专门用于读取和写入JPEG文件的Exchangeable Image File Format (EXIF)元数据。下面将详细解释如何使用ExifInterface来读取图片的地理位置信息。 首先,了解什么是EXIF...

    Android开发之使用ExifInterface获取拍照后的图片属性

    ExifInterface是Android SDK提供的一个用于读取和写入JPEG文件中Exif标签的类,它能够帮助开发者获取到照片的EXIF信息,EXIF即Exchangeable image file format,是一种用于存储图像文件的元数据的格式。 首先,使用...

    android如何获取相片的拍摄日期

    - 在Android中,可以使用`ExifInterface`类来读取和修改这些元数据。 2. **使用ExifInterface类**: - `ExifInterface`是Android提供的一个类,专门用来处理图像文件的EXIF信息。 - 创建`ExifInterface`对象,...

    Android图片处理资料

    11. **多媒体框架** - Android的MediaStore、ExifInterface等类可以帮助开发者处理图片的元数据和存储问题。 12. **跨平台库** - 如Volley、Retrofit等网络库在处理网络图片时也会涉及图片处理,资料可能包含如何...

    Android SwipeView类似桌面的滑动界面.zip

    `ExifInterface`是Android SDK中的一个类,通常用于处理图像元数据,如EXIF标签,但在这里它被巧妙地用在生成缩略图上。在Android 2.0及以上版本,`ExifInterface`增加了从JPEG文件中读取和写入元数据的能力,包括...

    android拍摄路面图片并获取当前经纬度上传

    1. **文件读取**:使用`File`类读取拍摄的照片,并将其转换为`byte[]`数组。 2. **构建上传请求**:使用`HttpURLConnection`或者第三方库如Retrofit、OkHttp等,构建POST请求,包含照片的二进制数据和经纬度信息。 ...

    Android-Android仿微信的图片选择器带裁剪功能支持圆形和方形裁剪

    6. **图片旋转**: 图片旋转功能可以使用`ExifInterface`读取和修改图片的EXIF信息,从而改变图片的方向。此外,还可以直接使用`Matrix`对象旋转`Bitmap`。 7. **图片压缩**: 图片压缩是为了减少内存占用和提高传输...

    Android下使用Camera硬件拍照Demo

    Android提供了`ExifInterface`类来读取和修改JPEG图片的EXIF信息,其中包括旋转角度。 此外,当不再需要相机时,必须释放资源,调用`Camera.release()`关闭相机,避免内存泄漏和资源浪费。同时,如果在预览过程中...

    Android通过ExifInterface判断Camera图片方向的方法

    Android 通过 ExifInterface 判断 Camera ...通过 ExifInterface 判断图片朝向的方法可以帮助我们更好地展示拍摄的图片,并且可以在 Android 应用开发中使用。这是一个非常有用的方法,可以帮助我们更好地处理图片。

    android 按时间显示图片

    在Android开发中,按时间顺序显示图片是一项常见的需求,尤其在相册应用或者日志记录类应用中。这个任务涉及到图像处理、数据存储以及UI布局等多个方面。下面将详细讲解如何实现这一功能。 首先,我们需要获取到...

    android 系统详解ppt

    此外,Android的AsyncTask类和Intent服务为开发者提供了处理网络操作的便利方式,可以在后台执行而不影响用户界面。 "多媒体"是Android系统的一大特色。Android支持多种媒体格式的播放和录制,包括音频、视频和图像...

    android_picture.zip_Android图像处理_android

    此外,ExifInterface类可以帮助处理图像的Exif信息,用于正确地旋转图片。 11. **动画与帧动画**:Android的Animation框架可以创建平滑的图像动画,而帧动画则可以将一系列图像播放成动画效果。 这些知识点构成了...

    《Android多媒体编程从初学到精通》前四章

    此外,还会讲解如何使用Camera API捕捉和处理照片,以及使用ExifInterface处理图像元数据。 第四章:Android视频编程基础 在视频编程部分,会介绍如何使用VideoView或MediaPlayer来播放视频,以及如何通过...

    android 摄像头、视频录制demo (竖屏)

    可能需要使用`ExifInterface`类来读取并修改图片的Exif信息,尤其是`ORIENTATION`属性,以确保图片旋转正确。 3. **视频录制**: - 视频录制通常使用`MediaRecorder`类。设置`MediaRecorder`时,必须指定合适的...

    Android-Exif-Extended:适用于Android的Exif扩展库,基于jhead c库(http

    它基于android [ExifInterface] 和[Jhead] c库 进口 只需将此行添加到您的依赖项组中: compile 'it.sephiroth.android.exif:library:+' 用法 import it.sephiroth.android.library.exif2.ExifInterface; import ...

    Android 中拍照、相册选择、裁剪照片(兼容Android7.0)

    在处理图片时,由于Android 7.0引入了运行时权限,所以需要在用户使用相机或访问相册前检查并请求相应的权限。使用` ActivityCompat.checkSelfPermission()` 和 `ActivityCompat.requestPermissions()` 进行检查和...

    全部android图片处理特效

    1. **图片缩放**:Android提供了Bitmap类,可以使用其`createScaledBitmap()`方法对图片进行缩放。此方法可以根据需要调整图片尺寸,同时保持原始宽高比,以适应不同的显示需求。 2. **图片压缩**:为了节省存储...

Global site tag (gtag.js) - Google Analytics