在Sanselan编辑EXIF GPSAltitudeRef

时间:2014-10-07 21:30:39

标签: java xmp photosphere

我正在尝试将提交到Google视图所需的XMP数据添加到全景图像处理器中,但我的图像并未被Google接受为Photospheres。我的JPEG中的XMP数据与Google转换器生成的数据完全相同。

我在EXIF标签中看到的唯一区别是GPSAltitudeRef:海拔高度,它出现在Google转换器生成的版本中,但不在我正在进行的版本中。

我尝试添加它,但似乎我正在使用的库中存在一个错误: https://code.google.com/p/sanselanandroid/issues/detail?id=4(我收到同样的错误)

              TiffOutputField altitudeRefField = TiffOutputField.create(TiffConstants.GPS_TAG_GPS_ALTITUDE_REF, outputSet.byteOrder, GPSTagConstants.GPS_TAG_GPS_ALTITUDE_REF_VALUE_ABOVE_SEA_LEVEL);

              TiffOutputDirectory exifDir = outputSet.findDirectory(TiffDirectoryConstants.DIRECTORY_TYPE_EXIF);

              exifDir.add( altitudeRefField );

给我同样的错误:

Tag does not expect a single value.[Ljava.lang.StackTraceElement;@55f923bd

由于

1 个答案:

答案 0 :(得分:0)

GPS海拔高度参考不是问题。还有别的。

我用

获取了这些数据
 TagInfo tag  = new TagInfo(
                            "GPSAltitudeRef",
                            0x0005,
                            TiffConstants.FIELD_TYPE_DESCRIPTION_BYTE,
                            1,
                            TiffConstants.EXIF_DIRECTORY_GPS);

                  Byte b = new Byte( (byte) TiffConstants.GPS_TAG_GPS_ALTITUDE_REF_VALUE_ABOVE_SEA_LEVEL );

                  TiffOutputField altitude = TiffOutputField.create(tag, outputSet.byteOrder, b);
                    TiffOutputDirectory exifDirectory = outputSet.getOrCreateExifDirectory();

                    exifDirectory.add( altitude );