JHeader - 读取和修改相片Exif信息的Java类库
openkk
12年前
一个轻量级的相片Exif信息读取和修改的Java类库。它同时是一个可执行程序,但代码是开源的,可以通过看代码提取出接口自己调用。
特性包括:
- 展示和修改任意认可的EXIF标签。
- 添加和删除EXIF标签。
- 将JFIF文件转换成EXIF 和 vice vers。
- 从EXIF and JFIF headers创建和抽取缩略图。
- 查看和编辑JPEG文件注释
- 一个命令行工具来执行相关操作
- 一个GUI工具和实用的JTable组件来执行相关操作
一个读取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); } }