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

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

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

下面先贴出代码:

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;

} }

相应文章分享:

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

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

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

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

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐