Android原生Gallery关于图像Orientation的问题

Android可以在两个地方得到一张Jpeg图片的Orientation:

1. MediaStore,在数据库里存着

2. EXIF信息

最近项目里要存Jpeg,想当然地以为把Orientation值存EXIF信息或者存MediaStore两者选一即可

于是按着原生Camera的方法存了Exif,而insert到MediaStore时没有存Orientation。

结果Gallery里显示Orientation总是0。

最后发现:

1. Gallery读Jpeg图,不会自己读Exif的Orientation。它只从MediaStore读Orientation.

2. 如果你存图的时候不自己Insert 到mediastore,那么没问题。因为Android 扫描的时候会把正确的Exif信息扫描到MediaStore中(所以你push一张带Exif的jpeg到手机,然后reboot一下,你在Gallery里看到的Exif信息是对的。)

3. 如果你自己存图,并且自己insert条目到mediastore, 那么你必须自己填上正确的信息给mediastore。例如:有orientation, 那么你就要把orientation值填进条目中。

原文地址:https://www.cnblogs.com/blowing-in-the-wind/p/6543674.html