ExifInterface图片附加信息

来源:互联网 发布:马蓉淘宝店 编辑:程序博客网 时间:2024/05/16 04:46
一、作用:
主要描述多媒体文件比如JPG格式图片的一些附加信息,比如拍照的设备厂商,当时的日期时间,曝光时间,快门速

度等,调用API的Level至少为5即2.0SDK


二、构造

ExifInterface e = new ExifInterface(imageFile.getAbsolutePath());


三、生成缩略图

public byte[] getThumbnail()


四、获取和设置属性
 图片的的Exif信息和MP3的ID3标签类似,使用了属性和值的存储方式。通过public void setAttribute(Stringtag,Stringvalue)来设置,而获取可以通过public int getAttributeInt(Stringtag,intdefaultValue)和public String getAttribute(Stringtag)两种方法都可以,getAttributeInt重载方法一第二个参数为我们设置的默认值,如果成功则返回相应Tag的值;特定的整数内容为该方法直接返回值。而重载方法二该方法直接返回结果,如果失败则为null。
注意:setAttribute后调用exifDest.saveAttributes();
目前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白平衡

TAG_ORIENTATION 旋转角度(不是具体角度)


五 Demo
获取图片旋转角度
public static int getExifRotation(File imageFile){
if(imageFile==null){
return 0;
}else{
try{
ExifInterface e=new ExifInterface(imageFile.getAbsolutePath());
switch(e.getAttributeInt("Orientation",0)){
case 3:
return 180;
case 6:
return 90;
case 8:
return 270;
default:
return 0;
}
        }catch(IOException var2){
Log.e("Error getting Exif data",var2);
return 0;
        }
    }
}

原创粉丝点击