不使用ExifInterface获取位图方向

时间:2016-04-14 19:34:11

标签: android bitmap rotation exif

我需要弄清楚如何从位图获取方向。事情是 - 图像并不总是出现在设备上,所以我不能使用ExifInterface来获取方向信息。 不知怎的,它总是在横向上显示位图,而长度和宽度属性对我没有多大帮助。

有没有人知道如何在没有ExifInterface的情况下完成此任务?

我知道我可以将方向存储为数据库中的属性,但如果有另一种方式 - id更喜欢。

提前致谢

编辑: 我应该添加 - 位图作为字节数组从站点下载,因此在实际决定下载之前,它可以作为预览呈现给设备上的最终用户。希望这更有意义

2 个答案:

答案 0 :(得分:2)

您还可以使用我的metadata-extractor库,它将从多种图像类型中读取大量元数据,并且非常有效。

^HH

答案 1 :(得分:1)

如果您有JPEG数据,可以尝试读取EXIF标题。您的选择是:

在您的情况下,您可能会遇到一些问题:

  • 预览可能缺少EXIF标题,具体取决于预览图像的创建方式。如果是这种情况,并且您控制预览创建过程,则可以修复该服务器端。

  • 这仅适用于预览图像为JPEG的情况。如果它们采用其他格式(例如,PNG),则EXIF标头将丢失。同样,如果是这种情况,您可以解决此服务器端问题,例如让预览生成器根据原始文件的EXIF标题正确旋转图像。

如果您没有readExif() EXIF标题,并且您无法控制服务器,那么您将注定失败。