java exif 旋转_java-根据ImageIO插件中的EXIF方向实现JPEG图像的自动旋转

不旋转图像的原因

>方向存储在Exif元数据中,而不是JPEG / JFIF标准的一部分

>读取Exif元数据会增加额外的复杂性

>如果Exif元数据错误,则可能会出错

>如果将Exif元数据包含在修改后的文件中,则必须对其进行修改.

>就CPU负载和内存而言,旋转图像可能会耗费大量成本

>如果您阅读磁贴,则行为不确定

旋转图像的原因

> Exif元数据是由2010年以后生产的几乎所有数码相机写入的

>大多数数码相机不会旋转图像,而只会在元数据中存储方向.可能是因为需要其他硬件.

>由于最后两个原因,可以将Exif方向视为一种标准和必须遵守的信息.

>许多针对非技术用户的查看器(例如Web浏览器)会根据Exif旋转图像,以提供更好的用户体验.因此,用户将认为不会旋转的视图是不完整或不完整的.

>其他元数据信息(例如颜色转换)也将在读取期间应用.

我认为ImageIO应该旋转图像并更新Exif.这样,开发人员可以使用ImageIO而不用担心图像文件格式.新的JPEGReader的行为与旧的兼容.

其他功能将是

>提供一种读取未旋转图像并保持exif不变的方法.

>提供一种以指定方向写入图像的方法.

>我不会让JPEG写入根据Exif元数据更改其行为,因为Exif中可能有很多东西.

我认为我们应该抛弃过去(Exif不遵循标准),并认为Exif中的方向是JPEG的一部分.但是我认为在将像素放入内存或屏幕上时,我们仍然应该忽略所有其他Exif信息;-)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值