0

在图像内部的标签中从相机捕获图像时,我需要设置方向值。我尝试例如:

  exif.setAttribute("GPSImgDirectionRef","T");

  exif.setAttribute("GPSImgDirection","142.2");

没有成功。

任何想法?

谢谢。

4

1 回答 1

0

如果有人需要,我最近遇到了这个问题的解决方案:

根据ExifInterface 文档,使用标签的属性TAG_GPS_IMG_DIRECTION需要一个“理性”值。但据我了解它的源代码,它首先通过检查字符串中是否有“/”字符来验证插入的值,然后获取“/”之前和之后的数字以生成双精度值,并且仅当它可以转换为双精度值时,此属性才会添加到图像文件中。

所以基本上要让它工作,而不是发送一个double值作为你的属性,你需要发送一个分数。

作为建议,使用Apache Commons Math Lib - Fractiondouble可以轻松地从 a 中提取分数。它会是这样的:

Fraction azimuthAsFraction = new Fraction(azimuthAsDouble);
exif.setAttribute(TAG_GPS_IMG_DIRECTION, String.valueOf(azimuthAsFraction));

这样,您的方位角值应添加到图像文件元数据中。

于 2017-04-03T23:38:02.673 回答