七牛:关于图片 EXIF 信息中旋转参数 Orientation 的理解

简介: EXIF(Exchangeable Image File)是 “可交换图像文件” 的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息,简单来说,Exif 信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,需要注意的是 EXIF 信息是不支持 png,webp 等图片格式的。

EXIF(Exchangeable Image File)是 “可交换图像文件” 的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息,简单来说,Exif 信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,需要注意的是 EXIF 信息是不支持 png,webp 等图片格式的。 对于七牛,可以在图片后面加? exif 参数来获取图片的 exif 信息。

对于 Orientation 参数,简单的说是记录图片拍摄的相机的旋转信息,浏览器 (需要浏览器支持) 可以根据这个参数中的 val 信息自动旋转图片到正确的方向。

eg:

  • 在浏览器中输入以下图片链接,由于浏览器自动旋转了,我们可以看到一个显示正常的图片:

http://7xt44n.com2.z0.glb.qiniucdn.com/exif.png

  • 其实这张图片拍摄的时候相机是有旋转的,我们可以去掉图片的 exif 信息显示如下:

http://7xt44n.com2.z0.glb.qiniucdn.com/exif.png?imageMogr2/strip

  • 可以查询到图片的 exif 信息如下:

http://7xt44n.com2.z0.glb.qiniucdn.com/exif.png?exif

{"ColorSpace":{"val":"sRGB","type":3},"ExifVersion":{"val":"Exif Version 2.1","type":7},"FlashPixVersion":{"val":"FlashPix Version 1.0","type":7},"Orientation":{"val":"Right-top","type":3},"PixelXDimension":{"val":"3264","type":4},"PixelYDimension":{"val":"2448","type":4},"ResolutionUnit":{"val":"Inch","type":3},"XResolution":{"val":"72","type":5},"YResolution":{"val":"72","type":5}}

由以上我们可以得到图片拍摄时的 val 信息得到图片拍摄时相机的旋转信息是 Right-top 信息,我们可以由以下文档得到相机拍摄时应该是在逆时针选择了 90 度的基础上拍摄的:
http://sylvana.net/jpegcrop/exif_orientation.html 
http://www.impulseadventure.com/photo/exif-orientation.html

111

222

需要注意的是,七牛显示的 exif 信息 Orientation":{"val":"Right-top","type":3},其中 type 信息是可以忽略,以 value 信息为准

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
6月前
[笔记]音视频学习之SDL篇《五》裁剪图片成子图片(裁剪精灵表)
[笔记]音视频学习之SDL篇《五》裁剪图片成子图片(裁剪精灵表)
|
4月前
|
XML 定位技术 数据格式
JPEG图像EXIF数据信息的解析
JPEG图像EXIF数据信息的解析
35 0
|
8月前
|
存储 XML API
Android 拍摄照片后返回缩略图的两种方法详解
Android 拍摄照片后返回缩略图的两种方法详解
51 0
|
数据安全/隐私保护 Android开发
Android为图片添加水印,裁剪图片,旋转图片工具类
Android为图片添加水印,裁剪图片,旋转图片工具类
143 0
|
前端开发 JavaScript 定位技术
前端获取图片exif信息
对又是我,每天都有新的需求。 这次的需求是上传图片的时获取图片的宽高、设备、光圈等信息。 不用考虑服务端做,他们肯定是不做。 pc、android、ios 都支持了,现在就缺少 web 这边上传的图片了。 上测试地址:https://www.lilnong.top/static/html/exif.html
189 0
前端获取图片exif信息
|
API Android开发
【Android 内存优化】自定义组件长图组件 ( 获取图像宽高 | 计算解码区域 | 设置图像解码属性 复用 像素格式 | 图像绘制 )
【Android 内存优化】自定义组件长图组件 ( 获取图像宽高 | 计算解码区域 | 设置图像解码属性 复用 像素格式 | 图像绘制 )
138 0
【Android 内存优化】自定义组件长图组件 ( 获取图像宽高 | 计算解码区域 | 设置图像解码属性 复用 像素格式 | 图像绘制 )
|
数据库 Android开发 索引
利用MediaStore检索图像+利用ExitInterface修改EXIF信息
利用MediaStore检索图像+利用ExitInterface修改EXIF信息
111 0
|
Web App开发 移动开发 前端开发
把canvas标签里的图像下载成本地图片文件
把canvas标签里的图像下载成本地图片文件
490 0
把canvas标签里的图像下载成本地图片文件
|
前端开发 JavaScript
Canvas自定义图片大小及蒙版与生成gif图
Html的Canvas主要通过js脚本做一些图形化操作。Canvas是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
1424 0
|
Web App开发 JavaScript 前端开发