从字节[]中读取EXIF数据

时间:2012-08-23 16:20:58

标签: android bytearray byte jpeg exif

我目前正在尝试以字节数组的形式从照片中获取EXIF数据。照片直接从相机拍摄,因此仅可用作上述字节[]。

现在有许多EXIF提取库 - 但是,那些只接受BufferReader,或者更糟糕的是,使用FileStream。看到我碰壁了,我愿意使用BufferReader将byte []提供给库。但不幸的是,我不知道任何简短的方法,并且不想实现我自己的BufferReader只是为了使用byte []。

此外,我不想将byte []写入存储,然后再次读取EXIF信息,因为我想相应地旋转它并保存结果。因此,第一次保存文件是不合理的,因为我打算以方向校正的形式保存那张图像...

任何帮助都会很棒:)

2 个答案:

答案 0 :(得分:1)

我已经解决了上述问题。

进行图像旋转的最快方法是(imho)在拍摄图像之前让手机旋转,然后简单地旋转PDF。这样,就不需要任何进一步的库或读取EXIF数据的开销。

步骤如下:

  1. 获取旋转(通过加速度传感器)并将其保存在变量
  2. 拍照
  3. 按照已保存的金额旋转图片
  4. 存储图片

答案 1 :(得分:0)

您可以通过将byte[]ByteArrayInputStream打包并将其传递到我的metadata-extractor等库来完成此操作。