2014年2月19日水曜日

Apache Commons Imaging EXIF 更新

EXIF より GPS情報のみ削除する
try {
    IImageMetadata metadata = Imaging.getMetadata(new File("c:\\Temp\\test.jpg"));
    if (!(metadata instanceof JpegImageMetadata)) {
        return null;
    }
    JpegImageMetadata jpegMetadata = (JpegImageMetadata)metadata;
    TiffImageMetadata exif = jpegMetadata.getExif();
    if (exif == null) {
        return null;
    }
    TiffOutputSet outputSet = exif.getOutputSet();
    if (outputSet == null) {
        return null;
    }
    TiffOutputDirectory gpsDirectory = outputSet.getGPSDirectory();
    if (gpsDirectory == null) {
        return null;
    }
    List<TiffOutputField> gpsFieldList = gpsDirectory.getFields();
    for (TiffOutputField field : gpsFieldList) {
        gpsDirectory.removeField(field.tagInfo);
    }
    new ExifRewriter().updateExifMetadataLossless(
            new File("c:\\Temp\\test.jpg"),
            new FileOutputStream(new File("c:\\Temp\\test2.jpg")),
            outputSet
        );
} catch (Exception ex) {
    ex.printStackTrace();
}


人気ブログランキングへ