Examples of JpegImageMetadata


Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

        // note that metadata might be null if no metadata is found.
        IImageMetadata metadata = Sanselan.getMetadata(imageFile, params);
        if (null == metadata)
            return;
        JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;

        // note that exif might be null if no Exif metadata is found.
        TiffImageMetadata exif = jpegMetadata.getExif();
        if (null == exif)
            return;

        List fields = exif.getAllFields();
        for (int i = 0; i < fields.size(); i++)
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

            params
                    .put(PARAM_KEY_READ_THUMBNAILS, new Boolean(
                            !ignoreImageData));
            // params.put(PARAM_KEY_VERBOSE, Boolean.TRUE);

            JpegImageMetadata metadata = (JpegImageMetadata) Sanselan
                    .getMetadata(imageFile, params);
            assertNotNull(metadata);
            assertNotNull(metadata.getPhotoshop());

            metadata.getPhotoshop().dump();
            // if(metadata.getPhotoshop().getItems().size()>0)
            // Debug.debug("iptc size",
            // metadata.getPhotoshop().getItems().size());

            JpegPhotoshopMetadata psMetadata = metadata.getPhotoshop();
            List oldRecords = psMetadata.photoshopApp13Data.getRecords();

            System.out.println();
            for (int j = 0; j < oldRecords.size(); j++)
            {
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

final class SanselanExifReader extends AbstractExifReader{

    static TiffImageMetadata getExif(File jpegImageFile)
    throws IOException, ImageReadException, ImageWriteException{
        TiffImageMetadata exif = null;
        JpegImageMetadata jpegMetadata = (JpegImageMetadata) Sanselan.getMetadata(jpegImageFile);
        if (null != jpegMetadata) {
            // note that exif might be null if no Exif metadata is found.
            exif = jpegMetadata.getExif();
        }
        return exif;
    }
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

    /* create the TiffOutputSet with all existing EXIF data */
    TiffOutputSet exifTags = new TiffOutputSet();

    /* load old JPEG picture and existing EXIF data */
    JpegImageMetadata jpegMetadata = null;
    try {
      jpegMetadata = (JpegImageMetadata) Sanselan.getMetadata(file);
    } catch (ImageReadException ire) {
      /* do nothing */
      logger.log(Level.INFO, "error while preparing meta data writing "
          + "(maybe picture contains no meta data)", ire);
    }

    /* check whether meta data exist */
    if (jpegMetadata != null
        && jpegMetadata.getExif() != null
        && (!(file instanceof geodress.model.Picture) || ((Picture) file)
            .getAddress().getStatus() != Address.STATUS_DEFAULT)) {
      try {
        exifTags = jpegMetadata.getExif().getOutputSet();
      } catch (ImageWriteException iwe) {
        /* do nothing */
        logger.log(Level.INFO,
            "error while preparing meta data writing", iwe);
      }
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

  @Override
  @SuppressWarnings("unchecked")
  public Map<String, String> getHeaders(final InputStream inputStream) throws IOException {
    try {
      IImageMetadata metadata = Sanselan.getMetadata(IOUtils.toByteArray(inputStream));
      JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
      if (jpegMetadata != null) {
        TiffImageMetadata exif = jpegMetadata.getExif();
        if (exif != null) {
          Map<String, String> headers = new HashMap<String, String>();
          List<TiffField> fields = exif.getAllFields();

          for (TiffField field : fields) {
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

    //System.out.println(metadata);

    if (metadata instanceof JpegImageMetadata)
    {
      JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;

      // Jpeg EXIF metadata is stored in a TIFF-based directory structure
      // and is identified with TIFF tags.
      // Here we look for the "x resolution" tag, but
      // we could just as easily search for any other tag.
      //
      // see the TiffConstants file for a list of TIFF tags.

      System.out.println("file: " + file.getPath());

      // print out various interesting EXIF tags.
      printTagValue(jpegMetadata, TiffConstants.TIFF_TAG_XRESOLUTION);
      printTagValue(jpegMetadata, TiffConstants.TIFF_TAG_DATE_TIME);
      printTagValue(jpegMetadata,
          TiffConstants.EXIF_TAG_DATE_TIME_ORIGINAL);
      printTagValue(jpegMetadata, TiffConstants.EXIF_TAG_CREATE_DATE);
      printTagValue(jpegMetadata, TiffConstants.EXIF_TAG_ISO);
      printTagValue(jpegMetadata,
          TiffConstants.EXIF_TAG_SHUTTER_SPEED_VALUE);
      printTagValue(jpegMetadata, TiffConstants.EXIF_TAG_APERTURE_VALUE);
      printTagValue(jpegMetadata, TiffConstants.EXIF_TAG_BRIGHTNESS_VALUE);
      printTagValue(jpegMetadata, TiffConstants.GPS_TAG_GPS_LATITUDE_REF);
      printTagValue(jpegMetadata, TiffConstants.GPS_TAG_GPS_LATITUDE);
      printTagValue(jpegMetadata, TiffConstants.GPS_TAG_GPS_LONGITUDE_REF);
      printTagValue(jpegMetadata, TiffConstants.GPS_TAG_GPS_LONGITUDE);

      System.out.println();

      // simple interface to GPS data
      TiffImageMetadata exifMetadata = jpegMetadata.getExif();
      if (null != exifMetadata)
      {
        TiffImageMetadata.GPSInfo gpsInfo = exifMetadata.getGPS();
        if (null != gpsInfo)
        {
          String gpsDescription = gpsInfo.toString();
          double longitude = gpsInfo.getLongitudeAsDegreesEast();
          double latitude = gpsInfo.getLatitudeAsDegreesNorth();

          System.out.println("  " + "GPS Description: " + gpsInfo);
          System.out.println("  " + "GPS Longitude (Degrees East): " + longitude);
          System.out.println("  " + "GPS Latitude (Degrees North): " + latitude);
        }
      }

      // more specific example of how to manually access GPS values
      TiffField gpsLatitudeRefField = jpegMetadata
          .findEXIFValue(TiffConstants.GPS_TAG_GPS_LATITUDE_REF);
      TiffField gpsLatitudeField = jpegMetadata
          .findEXIFValue(TiffConstants.GPS_TAG_GPS_LATITUDE);
      TiffField gpsLongitudeRefField = jpegMetadata
          .findEXIFValue(TiffConstants.GPS_TAG_GPS_LONGITUDE_REF);
      TiffField gpsLongitudeField = jpegMetadata
          .findEXIFValue(TiffConstants.GPS_TAG_GPS_LONGITUDE);
      if (gpsLatitudeRefField != null && gpsLatitudeField != null
          && gpsLongitudeRefField != null
          && gpsLongitudeField != null)
      {
        // all of these values are strings.
        String gpsLatitudeRef = (String) gpsLatitudeRefField.getValue();
        RationalNumber gpsLatitude[] = (RationalNumber[]) (gpsLatitudeField
            .getValue());
        String gpsLongitudeRef = (String) gpsLongitudeRefField
            .getValue();
        RationalNumber gpsLongitude[] = (RationalNumber[]) gpsLongitudeField
            .getValue();

        RationalNumber gpsLatitudeDegrees = gpsLatitude[0];
        RationalNumber gpsLatitudeMinutes = gpsLatitude[1];
        RationalNumber gpsLatitudeSeconds = gpsLatitude[2];

        RationalNumber gpsLongitudeDegrees = gpsLongitude[0];
        RationalNumber gpsLongitudeMinutes = gpsLongitude[1];
        RationalNumber gpsLongitudeSeconds = gpsLongitude[2];

        // This will format the gps info like so:
        //
        // gpsLatitude: 8 degrees, 40 minutes, 42.2 seconds S
        // gpsLongitude: 115 degrees, 26 minutes, 21.8 seconds E

        System.out.println("  " + "GPS Latitude: "
            + gpsLatitudeDegrees.toDisplayString() + " degrees, "
            + gpsLatitudeMinutes.toDisplayString() + " minutes, "
            + gpsLatitudeSeconds.toDisplayString() + " seconds "
            + gpsLatitudeRef);
        System.out.println("  " + "GPS Longitude: "
            + gpsLongitudeDegrees.toDisplayString() + " degrees, "
            + gpsLongitudeMinutes.toDisplayString() + " minutes, "
            + gpsLongitudeSeconds.toDisplayString() + " seconds "
            + gpsLongitudeRef);

      }

      System.out.println();

      ArrayList items = jpegMetadata.getItems();
      for (int i = 0; i < items.size(); i++)
      {
        Object item = items.get(i);
        System.out.println("  " + "item: " + item);
      }
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

    {
      TiffOutputSet outputSet =  null;

      // note that metadata might be null if no metadata is found.
      IImageMetadata metadata = Sanselan.getMetadata(jpegImageFile);
      JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
      if (null != jpegMetadata)
      {
        // note that exif might be null if no Exif metadata is found.
        TiffImageMetadata exif = jpegMetadata.getExif();

        if (null != exif)
        {
          // TiffImageMetadata class is immutable (read-only).
          // TiffOutputSet class represents the Exif data to write.
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

    // note that metadata might be null if no metadata is found.
    IImageMetadata metadata = Sanselan.getMetadata(imageFile, params);
    if (null == metadata)
      return;
    JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;

    // note that exif might be null if no Exif metadata is found.
    TiffImageMetadata exif = jpegMetadata.getExif();
    if (null == exif)
      return;

    List fields = exif.getAllFields();
    for (int i = 0; i < fields.size(); i++)
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

      ByteSource byteSource = new ByteSourceFile(imageFile);
      Debug.debug("Source Segments:");
      new JpegUtils().dumpJFIF(byteSource);

      {
        JpegImageMetadata metadata = (JpegImageMetadata) Sanselan
            .getMetadata(imageFile);
        //        assertNotNull(metadata.getExif());
      }

      {
View Full Code Here

Examples of org.apache.sanselan.formats.jpeg.JpegImageMetadata

      ByteSource byteSource = new ByteSourceFile(imageFile);
      Debug.debug("Source Segments:");
      new JpegUtils().dumpJFIF(byteSource);

      JpegImageMetadata originalMetadata = (JpegImageMetadata) Sanselan
          .getMetadata(imageFile);
      assertNotNull(originalMetadata);

      TiffImageMetadata oldExifMetadata = originalMetadata.getExif();
      assertNotNull(oldExifMetadata);

      ByteSource stripped;
      {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        new ExifRewriter().removeExifMetadata(byteSource, baos);
        byte bytes[] = baos.toByteArray();
        File tempFile = File.createTempFile("removed", ".jpg");
        Debug.debug("tempFile", tempFile);
        tempFile.deleteOnExit();
        IOUtils.writeToFile(bytes, tempFile);

        Debug.debug("Output Segments:");
        stripped = new ByteSourceArray(bytes);
        new JpegUtils().dumpJFIF(stripped);

        assertTrue(!hasExifData(tempFile));
      }

      {
        TiffOutputSet outputSet = oldExifMetadata.getOutputSet();
        //      outputSet.dump();

        ByteArrayOutputStream baos = new ByteArrayOutputStream();

        new ExifRewriter().updateExifMetadataLossy(stripped, baos,
            outputSet);

        byte bytes[] = baos.toByteArray();
        File tempFile = File.createTempFile("inserted" + "_", ".jpg");
        Debug.debug("tempFile", tempFile);
        //      tempFile.deleteOnExit();
        IOUtils.writeToFile(bytes, tempFile);

        Debug.debug("Output Segments:");
        new JpegUtils().dumpJFIF(new ByteSourceArray(bytes));

        //        assertTrue(!hasExifData(tempFile));

        JpegImageMetadata newMetadata = (JpegImageMetadata) Sanselan
            .getMetadata(tempFile);
        assertNotNull(newMetadata);
        TiffImageMetadata newExifMetadata = newMetadata.getExif();
        assertNotNull(newExifMetadata);
        //        newMetadata.dump();

        compare(oldExifMetadata, newExifMetadata);
      }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.