Android 2.0新增类ExifInterface使用

Android 2.0新增类ExifInterface使用

大家要知道从Android2.0开始新增了ExifInterface类,ExifInterface类主要描述多媒体文件比如JPG格式图片的一些附加信息,比如拍照的设备厂商,当时的日期时间,曝光时间,快门速度等。该类位于android.media.ExifInterface的位置,需要调用APILevel至少为5即2.0SDK。
  
  一、ExifInterface类给我们了一个实用的方法publicbyte[]getThumbnail()这个方法可以生成一个缩略图,返回一个字节数组,我们通过以前讲到的通过OutputStream将其保存成一个JPG文件。当然如果要是显示到一个Drawable对象,可以通过decodeByteArray(byte[],int,int)类来解析这个字节数组,不过具体生成的分辨率还不清楚。
  
  二、图片的MIMEExif信息
  图片的的Exif信息和MP3的ID3标签类似,使用了属性和值的存储方式。通过publicvoidsetAttribute(Stringtag,Stringvalue)来设置,而获取可以通过publicintgetAttributeInt(Stringtag,intdefaultValue)和publicStringgetAttribute(Stringtag)两种方法都可以,getAttributeInt重载方法一第二个参数为我们设置的默认值,如果成功则返回相应Tag的值;特定的整数内容为该方法直接返回值。而重载方法二该方法直接返回结果,如果失败则为null。


  * 目前Android SDK定义的Tag有: 

  *TAG_APERTURE         光圈值
  *TAG_DATETIME         时间日期
  *TAG_EXPOSURE_TIME 曝光时间
  *TAG_FLASH         闪光灯
  *TAG_FOCAL_LENGTH 焦距
  *TAG_GPS_ALTITUDE GPS海拔高度
  *TAG_GPS_ALTITUDE_REF GPS海拔高度参考
  *TAG_GPS_DATESTAMP GPS日期
  *TAG_GPS_LATITUDE GPS纬度
  *TAG_GPS_LATITUDE_REF GPS纬度参考
  *TAG_GPS_LONGITUDE GPS经度
  *TAG_GPS_LONGITUDE_REF GPS经度参考
  *TAG_GPS_PROCESSING_METHOD GPS处理方式
  *TAG_GPS_TIMESTAMP GPS时间
  *TAG_IMAGE_LENGTH 图像长度
  *TAG_IMAGE_WIDTH  图像宽度
  *TAG_ISO   照相机ISO速度
  *TAG_MAKE  设备制造商
  *TAG_MODEL  设备型号
  *TAG_ORIENTATION  方向
  *TAG_WHITE_BALANCE 白平衡

   String path = "/storage/extSdCard/mayi/fault_images/" + filename;//图片完整路径


   System.out.println(path);


   ExifInterface ext = new ExifInterface(path);//获取图片信息


   int image_length = Integer.parseInt(ext.getAttribute(ExifInterface.TAG_IMAGE_LENGTH));


   int image_width = Integer.parseInt(ext.getAttribute(ExifInterface.TAG_IMAGE_WIDTH));

猜你喜欢

转载自technicalsearch.iteye.com/blog/2103012