JHeader - 读取和修改相片Exif信息的Java类库

openkk 8年前

一个轻量级的相片Exif信息读取和修改的Java类库。它同时是一个可执行程序,但代码是开源的,可以通过看代码提取出接口自己调用。

特性包括:

  • 展示和修改任意认可的EXIF标签。
  • 添加和删除EXIF标签。
  • 将JFIF文件转换成EXIF 和 vice vers。
  • 从EXIF and JFIF headers创建和抽取缩略图。
  • 查看和编辑JPEG文件注释
  • 一个命令行工具来执行相关操作
  • 一个GUI工具和实用的JTable组件来执行相关操作

JHeader - 读取和修改相片Exif信息的Java类库

一个读取Exif和修改拍照日期的例子:

import java.util.Map;  import java.util.SortedMap;    import net.sourceforge.jheader.App1Header;  import net.sourceforge.jheader.JpegHeaders;  import net.sourceforge.jheader.TagValue;  import net.sourceforge.jheader.App1Header.Tag;    public class Main {     public static void main(String[] args) throws Exception {    String filename = "IMG_1062.JPG";      JpegHeaders jpegHeaders = new JpegHeaders(filename);      // EXIF    App1Header exifHeader = jpegHeaders.getApp1Header();      // 遍历显示EXIF    SortedMap tags = exifHeader.getTags();    for (Map.Entry entry : tags.entrySet()) {     System.out.println(entry.getKey() + "[" + entry.getKey().name       + "]:" + entry.getValue());    }      // 修改EXIF的拍照日期    exifHeader.setValue(Tag.DATETIMEORIGINAL, "2007:11:04 07:42:56");    // 保存    jpegHeaders.save(true);     }  }

项目主页:http://www.open-open.com/lib/view/home/1346581751115