List of usage examples for org.apache.commons.imaging.formats.jpeg.iptc IptcTypes CAPTION_ABSTRACT
IptcTypes CAPTION_ABSTRACT
To view the source code for org.apache.commons.imaging.formats.jpeg.iptc IptcTypes CAPTION_ABSTRACT.
Click Source Link
From source file:net.tourbook.photo.Photo.java
/** * Creates metadata from image metadata//from ww w .j av a 2 s . c o m * * @param imageMetadata * Can be <code>null</code> when not available * @return */ private PhotoImageMetadata createPhotoMetadata(final IImageMetadata imageMetadata) { final PhotoImageMetadata photoMetadata = new PhotoImageMetadata(); /* * read meta data for this photo */ if (imageMetadata instanceof TiffImageMetadata) { photoMetadata.isExifFromImage = true; final TiffImageMetadata tiffMetadata = (TiffImageMetadata) imageMetadata; photoMetadata.exifDateTime = getTiffValueDate(tiffMetadata); photoMetadata.orientation = 1; photoMetadata.imageWidth = getTiffValueInt(tiffMetadata, TiffTagConstants.TIFF_TAG_IMAGE_WIDTH, Integer.MIN_VALUE); photoMetadata.imageHeight = getTiffValueInt(tiffMetadata, TiffTagConstants.TIFF_TAG_IMAGE_LENGTH, Integer.MIN_VALUE); photoMetadata.model = getTiffValueString(tiffMetadata, TiffTagConstants.TIFF_TAG_MODEL); } else if (imageMetadata instanceof JpegImageMetadata) { photoMetadata.isExifFromImage = true; final JpegImageMetadata jpegMetadata = (JpegImageMetadata) imageMetadata; photoMetadata.exifDateTime = getExifValueDate(jpegMetadata); photoMetadata.orientation = getExifValueInt(jpegMetadata, TiffTagConstants.TIFF_TAG_ORIENTATION, 1); photoMetadata.imageWidth = getExifValueInt(jpegMetadata, ExifTagConstants.EXIF_TAG_EXIF_IMAGE_WIDTH, Integer.MIN_VALUE); photoMetadata.imageHeight = getExifValueInt(jpegMetadata, ExifTagConstants.EXIF_TAG_EXIF_IMAGE_LENGTH, Integer.MIN_VALUE); photoMetadata.imageDirection = getExifValueDouble(jpegMetadata, GpsTagConstants.GPS_TAG_GPS_IMG_DIRECTION); photoMetadata.altitude = getExifValueDouble(jpegMetadata, GpsTagConstants.GPS_TAG_GPS_ALTITUDE); photoMetadata.model = getExifValueString(jpegMetadata, TiffTagConstants.TIFF_TAG_MODEL); /* * GPS */ final TiffImageMetadata exifMetadata = jpegMetadata.getExif(); if (exifMetadata != null) { try { final TiffImageMetadata.GPSInfo gpsInfo = exifMetadata.getGPS(); if (gpsInfo != null) { photoMetadata.latitude = gpsInfo.getLatitudeAsDegreesNorth(); photoMetadata.longitude = gpsInfo.getLongitudeAsDegreesEast(); } } catch (final Exception e) { // ignore } } photoMetadata.gpsAreaInfo = getExifValueGpsArea(jpegMetadata); /* * photoshop metadata */ final JpegPhotoshopMetadata pshopMetadata = jpegMetadata.getPhotoshop(); if (pshopMetadata != null) { final List<? extends IImageMetadataItem> pshopItems = pshopMetadata.getItems(); for (final IImageMetadataItem pshopItem : pshopItems) { if (pshopItem instanceof Item) { final Item item = (Item) pshopItem; final String keyword = item.getKeyword(); if (keyword.equals(IptcTypes.OBJECT_NAME.name)) { photoMetadata.objectName = item.getText(); } else if (keyword.equals(IptcTypes.CAPTION_ABSTRACT.name)) { photoMetadata.captionAbstract = item.getText(); } } } } } // set file date time photoMetadata.fileDateTime = _imageFileLastModified; //// this will log all available meta data // System.out.println(UI.timeStampNano()); // System.out.println(UI.timeStampNano() + " " + imageFileName); // System.out.println(UI.timeStampNano()); // System.out.println(imageMetadata.toString()); // System.out.println(UI.timeStampNano()); // System.out.println(photoMetadata); // System.out.println(UI.timeStampNano()); // // TODO remove SYSTEM.OUT.PRINTLN return photoMetadata; }