服务器图片默认显示图片,图片上传服务器后被自动旋转

关键词:图片旋转,EXIF,前端

原文:http://makaiqian.com/exif-orientation/

前端上传图像到后台时,有时候会发现图像旋转了。比如这张图:

fa7d6a4fddb7

后台服务器显示情况

但在我的电脑上预览和显示是这样子的:

fa7d6a4fddb7

本地显示是这样子

一开始以为是前端代码的问题,其实并不是。这里要引入 EXIF的概念。

EXIF

EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息。

图像一旦被修改,Exif 信息可能会永久丢失,故编辑 Exif 必须使用专门的软件。

可以理解成,用来记录照片属性和拍摄数据的。(可以附加于jpeg等文件中,但png图片中不会有。)

EXIF中,有一个 Orientation 参数,用于记录照片生成时的方向。 一共有8个值,分别是:1、2、3、4、5、6、7、8。

正常情况下,拍照只会出现是1、6、3、8这几个值。2、5、4、7相当于镜像,照像时不会出现这几种情况。1、6、3、8的效果分别是:

1:0度(比如正常情况下我是这样拍摄的)

fa7d6a4fddb7

拍摄角度

6:逆时针90度回到正常

fa7d6a4fddb7

旋转回正常角度

3: 180度回到正常

fa7d6a4fddb7

顺/逆时针180都能回到正常

8:顺时针90度回到正常

fa7d6a4fddb7

顺时针90度回到正常

Mac上为什么会是正常的呢?

Mac之所以会显示正常,是因为Mac的图片“预览”功能会自动根据Orientation参数处理照片方向。但实际上,照片是旋转的。

用Mac的预览的 工具 - 显示检查器 查看旋转信息:

fa7d6a4fddb7

Preview 查看旋转信息

这里可以看到方向是6(逆时针旋转90度将回到正常).

顺带说一下,可以看到好多EXIF参数信息(我是用pad拍的):

fa7d6a4fddb7

图像EXIF信息

Windows平台上呢?

windows上默认的图片预览工具没有做处理,如果拍摄的时候是旋转的,那显示的也是旋转的。

在Mac上怎么转回来?

用Mac的“预览”功能打开,再Command + S保存,参数就改变了,上传的图片就正了。

fa7d6a4fddb7

Orientation参数就从6(逆时针旋转90度回到正常)变为了1(正常)

利用专业的修改EXIF的工具

关于前端获取EXIF

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值