0

以下代码成功地用于检索使用 Android 相机完成的图像所具有的方向,只要它在 Android 模拟器上执行,它就可以通过 ExifInterface 读取:

orientation=Integer.valueOf(exif.getAttribute(ExifInterface.TAG_ORIENTATION));

但在小米设备中,它总是返回值 0,根据 EXIF 规范,这将是一个保留值。

也许,小米设备不支持从 ExifInterface 获取值,但它能够成功检索以下值:

double vel = exif.getAttributeDouble(ExifInterface.TAG_SHUTTER_SPEED_VALUE, 0);

因此,它可以正确获得最后一个值,但对于 Orientation 来说不是正确的值,这看起来有点奇怪。

这两个数据按如下顺序检索:

double vel = exif.getAttributeDouble(ExifInterface.TAG_SHUTTER_SPEED_VALUE, 0);

shutterSpeed =((double ) 1/ Math.round(Math.pow(2.0, vel)));

orientation=Integer.valueOf(exif.getAttribute(ExifInterface.TAG_ORIENTATION));

所以,我也没有看到任何与图像相关的原因,可能还没有准备好获得它的方向。

如果可能的话,我想坚持使用 ExifInterface 来获取方向,因为经过一些研究,看起来很难确定 Android 设备是否使用后置摄像头,如果它甚至可以做到的话。

4

0 回答 0