]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/jpeg/drew/ExifReader.java
Version 13.4, May 2012
[GpsPrune.git] / tim / prune / jpeg / drew / ExifReader.java
index 384778d7418a77544f60e8f5524adacf580c4040..4c90cabc687a6d7b0417632c36802cfba68134b6 100644 (file)
@@ -78,13 +78,15 @@ public class ExifReader
        /** "Original" Exif timestamp */\r
        public static final int TAG_DATETIME_ORIGINAL = 0x9003;\r
        /** "Creation" or "Digitized" timestamp */\r
-    public static final int TAG_DATETIME_DIGITIZED = 0x9004;\r
+       public static final int TAG_DATETIME_DIGITIZED = 0x9004;\r
        /** Thumbnail offset */\r
        private static final int TAG_THUMBNAIL_OFFSET = 0x0201;\r
        /** Thumbnail length */\r
        private static final int TAG_THUMBNAIL_LENGTH = 0x0202;\r
        /** Orientation of image */\r
        private static final int TAG_ORIENTATION = 0x0112;\r
+       /** Bearing direction of image */\r
+       private static final int TAG_BEARING = 0x0011;\r
 \r
 \r
        /**\r
@@ -369,7 +371,8 @@ public class ExifReader
                                        if (dates != null) {\r
                                                inMetadata.setGpsDatestamp(new int[] {dates[0].intValue(), dates[1].intValue(), dates[2].intValue()});\r
                                        }\r
-                                       else {\r
+                                       else\r
+                                       {\r
                                                // Not in rational array format, but maybe as String?\r
                                                String date = readString(inTagValueOffset, inFormatCode, inComponentCount);\r
                                                if (date != null && date.length() == 10) {\r
@@ -378,6 +381,12 @@ public class ExifReader
                                                }\r
                                        }\r
                                        break;\r
+                               case TAG_BEARING:\r
+                                       Rational val = readRational(inTagValueOffset, inFormatCode, inComponentCount);\r
+                                       if (val != null) {\r
+                                               inMetadata.setBearing(val.doubleValue());\r
+                                       }\r
+                                       break;\r
                                default: // ignore all other tags\r
                        }\r
                }\r