在图像上使用Exif设置方位角

时间:2013-10-02 12:21:42

标签: android

我需要在图像内的标签中从相机捕获图像时设置方向值。我试着举个例子:

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

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

没有成功。

有什么想法吗?

THKS。

1 个答案:

答案 0 :(得分:0)

如果有人需要,我最近就此问题找到了解决方案:

根据ExifInterface documentation,使用标记TAG_GPS_IMG_DIRECTION的属性需要"理性"值。但据我了解它的源代码,它首先通过检查是否有" /"来验证插入的值。字符串中的char,然后获取" /"之前和之后的数字;生成一个double值,只有当它可以转换为double值时,该属性才会被添加到图像文件中。

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

作为建议,使用Apache Commons Math Lib - Fraction可以轻松完成double中的分数。它会是这样的:

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

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