import java.io.File;\r
import java.util.HashMap;\r
\r
+import tim.prune.jpeg.ExifGateway;\r
import tim.prune.jpeg.JpegData;\r
\r
/**\r
*/\r
public ExifReader(File inFile) throws JpegException\r
{\r
- JpegSegmentData segments = JpegSegmentReader.readSegments(inFile);\r
- _data = segments.getSegment(JpegSegmentReader.SEGMENT_APP1);\r
+ _data = JpegSegmentReader.readExifSegment(inFile);\r
}\r
\r
/**\r
break;\r
case TAG_GPS_LATITUDE:\r
Rational[] latitudes = readRationalArray(inTagValueOffset, inFormatCode, inComponentCount);\r
- inMetadata.setLatitude(new double[] {latitudes[0].doubleValue(), latitudes[1].doubleValue(), latitudes[2].doubleValue()});\r
+ inMetadata.setLatitude(new double[] {latitudes[0].doubleValue(), latitudes[1].doubleValue(),\r
+ ExifGateway.convertToPositiveValue(latitudes[2].getNumerator(), latitudes[2].getDenominator())});\r
break;\r
case TAG_GPS_LONGITUDE_REF:\r
inMetadata.setLongitudeRef(readString(inTagValueOffset, inFormatCode, inComponentCount));\r
break;\r
case TAG_GPS_LONGITUDE:\r
Rational[] longitudes = readRationalArray(inTagValueOffset, inFormatCode, inComponentCount);\r
- inMetadata.setLongitude(new double[] {longitudes[0].doubleValue(), longitudes[1].doubleValue(), longitudes[2].doubleValue()});\r
+ inMetadata.setLongitude(new double[] {longitudes[0].doubleValue(), longitudes[1].doubleValue(),\r
+ ExifGateway.convertToPositiveValue(longitudes[2].getNumerator(), longitudes[2].getDenominator())});\r
break;\r
case TAG_GPS_ALTITUDE_REF:\r
inMetadata.setAltitudeRef(_data[inTagValueOffset]);\r