如果你的Android应用程序使用设备相机拍摄照片,然后调整其大小(这非常常见,以减小上传文件的大小),你可能没有意识到此调整大小操作将 剥离 Exif 元数据。
这可能会引起问题,特别是如果依赖"方向"标签来正确显示图片的设备出现在问题。
不同的Android设备以不同的方式处理相机/图像旋转 - 我一直信任我的老 Nexus One 立即捕获后旋转图像,因此当查看文件时,原生内容始终处于"正立"状态。
但是,其他设备(尤其是在我的测试中的三星手机)不会旋转图像文件的内容-而是设置Exif "方向"标签。每当以后显示该图像时,相关的图像代码应检测"标签"的存在,并适当旋转该图像。但是,如果您对图像进行了任何位图处理并将其保存为新文件,则所有Exif数据都会丢失。
除了方向数据之外,您还可能会丢失其他有价值的元数据,例如制造/型号等。 这使我困惑了几周(在手机画廊中显示的图像是直立的,但抵达我的服务器后具有错误的方向和明显的元数据)。我在此添加自问来帮助其他人。这篇博客文章非常有用:
但是,其他设备(尤其是在我的测试中的三星手机)不会旋转图像文件的内容-而是设置Exif "方向"标签。每当以后显示该图像时,相关的图像代码应检测"标签"的存在,并适当旋转该图像。但是,如果您对图像进行了任何位图处理并将其保存为新文件,则所有Exif数据都会丢失。
除了方向数据之外,您还可能会丢失其他有价值的元数据,例如制造/型号等。 这使我困惑了几周(在手机画廊中显示的图像是直立的,但抵达我的服务器后具有错误的方向和明显的元数据)。我在此添加自问来帮助其他人。这篇博客文章非常有用: