Java 图片上传后为什么会自动旋转90度?

问题:
用户反馈上传后的图片方向不对,起初怀疑是本身图片方向有问题,但是用windows图片查看器打开图片方向是"正常"显示的?

分析:
windows默认的图片查看器已经帮我们自动旋转展示了,我们在手机横拍或者扫描仪、数码相机输出的图片通常包含此类信息,但是我们java读取的是图片的真实方向,所以在生成图片方向自然也就不对了。

收集数据:

使用红米K50手机、红米note10手机、佳能700D数据码相机、荣耀V10手机,各自拍了一张横屏和竖屏的照片,通过蓝牙的方式传输到电脑端

 然后使用 java的第三方库 解析图片的exif信息,

<!-- https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor -->
<dependency>
      <groupId>com.drewnoakes</groupId>
      <artifactId>metadata-extractor</artifactId>
      <version>2.18.0</version>
</dependency>

在图片的图片的exif信息中,过滤出方向有关的Orientation 信息,结果如下:

总结如下:

1、佳能700D数码相机,在拍摄横屏、竖屏图片是,非常详细的记录方向信息

2、红米K50手机只能记录横屏图片的方向信息...

3、红米note10手机能记录横屏图片的方向信息,竖屏的方向信息与与横屏的一样?

4、荣耀V10手机则完全无法记录横屏、竖屏的方向信息......

未完待续........

源码地址如下:

https://gitee.com/lizhou828/liz-incubator/tree/master/image/image-upload

参考文档:


Java 图片上传后发生了90度的旋转 https://blog.youkuaiyun.com/yuyu1067/article/details/116333935

图片Exif 信息中Orientation的理解和对此的处理 https://www.cnblogs.com/csonezp/p/5564809.html


前端 exif.js - Orientation 自动修正解决方案 https://blog.youkuaiyun.com/weixin_35933239/article/details/114827603
 
Windows 10进行旋转的图片,在Windows XP或Windows 7上无法识别
https://blog.youkuaiyun.com/weixin_42375011/article/details/115634704

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值