[
https://issues.apache.org/jira/browse/SANSELAN-51?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Damjan Jovanovic resolved SANSELAN-51.
--------------------------------------
Resolution: Fixed
Fix Version/s: 1.0
All issues raised have been fixed, so resolving FIXED.
> Tag reading/writing bugs and new ExifInterface class
> ----------------------------------------------------
>
> Key: SANSELAN-51
> URL: https://issues.apache.org/jira/browse/SANSELAN-51
> Project: Commons Sanselan
> Issue Type: Bug
> Components: Format: TIFF
> Affects Versions: 0.94-incubator
> Environment: Android on Linux,
> Windows 7
> Reporter: Tonio Barmadosa
> Labels: exif, gps
> Fix For: 1.0
>
> Attachments: ExifInterface.patch, IMAG05041.jpg, dsc00174.jpg
>
>
> Hi,
> Currently, I'm using Sanselan for Android. (
> http://code.google.com/p/sanselanandroid/ ) because Android exif reading and
> writing is a bit buggy. I've implemented the ExifInterface class in Sanselan
> based on this (
> http://developer.android.com/reference/android/media/ExifInterface.html ),
> and tested it with several jpeg images and various exif and gps tags. It
> seems to work on Android, but when I tried to integrate it with the main
> Sanselan project, I got some exceptions.
>
> 1. String type writing and reading
> * In TiffOutputField.create(), when a String value is passed, sometimes the
> ASCII field type is not identified correctly, whereas in the Android project,
> it is. I've merged the two projects and now ASCII fields are always
> identified.
> 1.a Exif string reading and writing
> * For instance, the IMAGE_DESCRIPTION field is written correctly in the
> Android project, but in the main Sanselan it writes empty spaces.
> 1.b GPS string reading and writing
> * For GPS tags, it reads them fine first, then writes them fine. But on
> second try, it cannot read them properly. With a program called ExifTool,
> however, the tags are parsable from the file
> 2. Tag Constant Values
> * I've corrected some of the TagInfo constants in ExifTagConstants and
> GpsTagConstants based on this reference (
> http://www.awaresystems.be/imaging/tiff/tifftags.html ). For example,
> GPSImgDirection, GPSAltitude, GPSAltitudeRef ... etc, length was -1 in
> Sanselan, but in the reference, it is 1.
> 3. ShortFieldType
> * In addition, when a short is passed to a ShortFieldType, it throws an
> exception, saying it expects an integer? I'm not really sure what that means.
> Anyways, I'm not very familiar with the EXIF specification, so I did not
> change the way values are written on the byte level. Nevertheless, I've
> tested ExifInterface with some other common tags and it does work with those.
> For the problematic cases, you can find the tests in ExifInterfaceTest.java,
> which also shows example usage of ExifInterface. For example:
> ExifInterface exifInterface = new ExifInterface(filePath);
> double oldAltitude =
> exifInterface.getAttributeDouble(GPSTagConstants.GPS_TAG_GPS_ALTITUDE, 0);
> double newAltitude = 132.4;
> exifInterface.setAttribute(GPSTagConstants.GPS_TAG_GPS_ALTITUDE, newAltitude);
> exifInterface.saveAttributes();
> double newestAltitude =
> exifInterface.getAttributeDouble(GPSTagConstants.GPS_TAG_GPS_ALTITUDE, 0);
> Cheers
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira