您的位置:首页 > 移动开发 > Android开发

Android 实现对图片 Exif 的修改(Android 自带的方法)

2016-05-11 21:29 465 查看

很多时候我们都要对我们的图片信息进行一些处理,比如向图片中写入经纬度,拍摄时间,设备信息,作者等等。

这个时候我们就要对我们的图片Exif进行写入信息的操作,当然,我们想知道图片的Exif信息,也可以对Exif信息的读取操作。

因为Android本身有对图片Exif操作的方法,所以就不需要额外导入其他 jar

下面先贴出代码:

<span style="font-size:14px;">import android.media.ExifInterface;
import android.util.Log;

import java.io.IOException;

/**
* Created by long on 2016/3/22.
*/
public class ModifyExif {
private static ExifInterface exif = null;

//设置exif
public static void setExif
(String filepath,String longitude,String latitude,String time){
try{
exif = new ExifInterface(filepath);     //根据图片的路径获取图片的Exif
}catch (IOException ex){
Log.e("Mine","cannot read exif",ex);
}
exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE,longitude);    //把经度写进exif
exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE, latitude);     //把纬度写进exif
exif.setAttribute(ExifInterface.TAG_DATETIME,time);              //把时间写进exif
exif.setAttribute(ExifInterface.TAG_MAKE,longitude);             //把经度写进MAKE 设备的制造商,当然这样也是可以的,大家都是Stirng类型
exif.setAttribute(ExifInterface.TAG_MODEL,latitude);             //把纬度写进MODEL
try{
exif.saveAttributes();         //最后保存起来
}catch (IOException e){
Log.e("Mine","cannot save exif",e);
}
}

//获取exif
public static ExifInterface getExif(String filepath){
try {
exif = new ExifInterface(filepath);    //想要获取相应的值:exif.getAttribute("对应的key");比如获取时间:exif.getAttribute(ExifInterface.TAG_DATETIME);
} catch (Exception e) {
e.printStackTrace();
}
return exif;
} <span style="font-family: Arial, Helvetica, sans-serif;">}</span></span>

相应文章分享:

http://blog.csdn.net/xywy2008/article/details/38089789

http://blog.csdn.net/gao_chun/article/details/46854323

http://blog.csdn.net/fengyud/article/details/6147597

http://blog.csdn.net/kook_okko/article/details/2635294

http://blog.csdn.net/dc15822445347/article/details/8142103

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: