Example usage for org.apache.commons.imaging.formats.tiff.constants TiffDirectoryConstants DIRECTORY_TYPE_EXIF

List of usage examples for org.apache.commons.imaging.formats.tiff.constants TiffDirectoryConstants DIRECTORY_TYPE_EXIF

Introduction

In this page you can find the example usage for org.apache.commons.imaging.formats.tiff.constants TiffDirectoryConstants DIRECTORY_TYPE_EXIF.

Prototype

int DIRECTORY_TYPE_EXIF

To view the source code for org.apache.commons.imaging.formats.tiff.constants TiffDirectoryConstants DIRECTORY_TYPE_EXIF.

Click Source Link

Usage

From source file:com.ubb.imaging.ExifMetadataWriter.java

public void modifyXpTitle(File fileIn, File fileOut, String newValue) throws Exception {
    TiffImageMetadata exif;//from   w w w  .  j a  va  2s  . c o m
    ImageMetadata meta = Imaging.getMetadata(fileIn);
    if (meta instanceof JpegImageMetadata) {
        exif = ((JpegImageMetadata) meta).getExif();
    } else if (meta instanceof TiffImageMetadata) {
        exif = (TiffImageMetadata) meta;
    } else {
        return;
    }
    TiffOutputSet outputSet = exif.getOutputSet();
    TiffOutputDirectory exifDir = outputSet.findDirectory(TiffDirectoryConstants.DIRECTORY_TYPE_EXIF);
    exifDir.removeField(AllTagConstants.EXIF_TAG_XPTITLE);
    exifDir.add(AllTagConstants.EXIF_TAG_XPTITLE, newValue);

    ExifRewriter rewriter = new ExifRewriter();
    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream(fileOut);
        rewriter.updateExifMetadataLossy(fileIn, fos, outputSet);
    } finally {
        if (fos != null) {
            fos.close();
        }
    }
}