很多时候我们都要对我们的图片信息进行一些处理,比如向图片中写入经纬度,拍摄时间,设备信息,作者等等。
这个时候我们就要对我们的图片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