不旋转图像的原因
>方向存储在Exif元数据中,而不是JPEG / JFIF标准的一部分
>读取Exif元数据会增加额外的复杂性
>如果Exif元数据错误,则可能会出错
>如果将Exif元数据包含在修改后的文件中,则必须对其进行修改.
>就CPU负载和内存而言,旋转图像可能会耗费大量成本
>如果您阅读磁贴,则行为不确定
旋转图像的原因
> Exif元数据是由2010年以后生产的几乎所有数码相机写入的
>大多数数码相机不会旋转图像,而只会在元数据中存储方向.可能是因为需要其他硬件.
>由于最后两个原因,可以将Exif方向视为一种标准和必须遵守的信息.
>许多针对非技术用户的查看器(例如Web浏览器)会根据Exif旋转图像,以提供更好的用户体验.因此,用户将认为不会旋转的视图是不完整或不完整的.
>其他元数据信息(例如颜色转换)也将在读取期间应用.
我认为ImageIO应该旋转图像并更新Exif.这样,开发人员可以使用ImageIO而不用担心图像文件格式.新的JPEGReader的行为与旧的兼容.
其他功能将是
>提供一种读取未旋转图像并保持exif不变的方法.
>提供一种以指定方向写入图像的方法.
>我不会让JPEG写入根据Exif元数据更改其行为,因为Exif中可能有很多东西.
我认为我们应该抛弃过去(Exif不遵循标准),并认为Exif中的方向是JPEG的一部分.但是我认为在将像素放入内存或屏幕上时,我们仍然应该忽略所有其他Exif信息;-)