ExifInterface类的使用

2015/04/29 00:42
阅读数 41

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。

  
  目前AndroidSDK定义的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白平衡

  

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

  
StringsFileName="cwj-eoeandroid.jpg";
  ExifInterfaceexif=newExifInterface(filename);
  StringsModel=exif.getAttribute(ExifInterface.TAG_MODEL);index_uv": "最弱",
		"index48_uv": "最弱",
		"index_xc": "不宜",
		"index_tr": "适宜",
		"index_co": "舒适",
		"st1": "18",
		"st2": "13",
		"st3": "19",
		"st4": "14",
		"st5": "18",
		"st6": "15",
		"index_cl": "较不宜",
		"index_ls": "不宜",
		"index_ag": "极易发"
	}
}


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部