我需要在图像内的标签中从相机捕获图像时设置方向值。我试着举个例子:
exif.setAttribute("GPSImgDirectionRef","T");
exif.setAttribute("GPSImgDirection","142.2");
没有成功。
有什么想法吗?
THKS。
答案 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));
这样,您的方位角值应该添加到图像文件元数据中。