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

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

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

时间: 2024-10-27 18:58:46

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

图片Exif 信息中Orientation的理解和对此的处理

这个问题是在用七牛上传图片后获取宽高时发现的,一张图片,用图片浏览器打开始终是竖图,但是查看属性或者用七牛获取宽高,却发现宽大于高,也就是在属性中这是个横图.这样导致客户端用该宽高来展示图片会出现问题. 下面有个例子,可以参考: 1,图片地址是:http://7xt44n.com2.z0.glb.qiniucdn.com/exif.png 打开可以看到是竖图. 2,用七牛的api将所有额外信息去除,再看来这张图片:http://7xt44n.com2.z0.glb.qiniucdn.com/ex

Android 图片Exif信息相关的获取与修改

1 Exif是什么 Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了 数码照片的信息,包括拍摄的光圈.快门.平衡白.ISO.焦距.日期时间等各种和拍摄条件以及相机品牌.型号.色彩编码以及GPS等.简单来 说,Exif=拍摄参数+JPED.因此,可以利用任何可以查看JPEG文件的看图软件浏览Exif信息,但是并不是所有图形程序都能处理Exif信息, 而自Android2.0之后,加入了对图片Exif数据的支持. 2 ExifInterf

(四十三)获取图片exif信息

1.什么是Exif Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了数码照片的信息,包括拍摄的光圈.快门.平衡白.ISO.焦距.日期时间等各种和拍摄条件以及相机品牌.型号.色彩编码以及GPS等.简单来说,Exif=拍摄参数+JPED.因此,可以利用任何可以查看JPEG文件的看图软件浏览Exif信息,但是并不是所有图形程序都能处理Exif信息,而自Android2.0之后,加入了对图片Exif数据的支持. 2.ExifInterface

python用来获得图片exif信息的库源码

将开发过程中重要的内容段收藏起来,下边内容是关于python用来获得图片exif信息的库的内容. # library test/debug function (dump given files)if __name__ == '__main__': import sys import getopt # parse command line options/arguments try: opts, args = getopt.getopt(sys.argv[1:], "hqsdt:v",

java开发:分享一下百度ueditor和七牛的图片集成上传

做网站时,如果上传的图片量很大,现在不少人会选用七牛图片服务器.那么,今天就来说说如何把网站的图片上传与七牛的sdk集成的问题. jsp页面,实现图片上传的方式也很多,今天就来说下百度的编辑器:ueditor 首先要到官网去下载它,后面我也会附上源代码,需要的朋友可以下载. 我们新建一个项目:qndemo,然后将ueditor放到webroot目录下,截图如下: 另外,我们还要引入jar包: 前台页面,我们需要引用相关js,默认配置下,会加载出编辑效果,如下图: 这时候,我们上传的图片会保存在本

图片Exif信息

Exif文件格式简述链接:https://www.zhihu.com/question/23727439/answer/25467748 可交换图像文件常被简称为Exif(Exchangeable image file format),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据. Exif最初由日本电子工业发展协会在1996年制定,版本为1.0.1998年,升级到2.1,增加了对音频文件的支持.2002年3月,发表了2.2版. Exif可以附加于JPEG.TIFF.RIF

七牛存储图片代码

1 //上传到七牛 2 //单个文件 3 //formname: 表单名字; pre: 图片Url中显示的图片名字(也就是七牛中的key) 4 public function upImage($formname, $pre) 5 { 6 if (empty($_FILES[$formname]['size'])) { 7 return array( 8 'qiniu_name' => '000', 9 'file_name' => '0000' 10 ); 11 } 12 13 //取得后缀

PHPcms使用七牛存储图片文件

不知道现在有多少人使用第三方云存储,我反正是在云存储一出来就开始快速使用了.因为第三方云存储的优势太大了.无论是自己开发,还是使用现成的cms,通过第三方云存储都可以达到减轻服务器压力,更多的个性化功能,更高的安全性,更快的速度. 我开始用云存储是自己开发的网站,是一个音乐外链的网站.可以快速的实现大量文件快速上传,下载.现在使用phpcms做资讯跟下载类网站同样非常适用.可以将所有的图片跟文件资源放到第三方云存储上面.第三方云存储我最开始用的是又拍云,后面一直用的是七牛. phpcms是一款非

改动图片exif信息

我们先了解一下EXIF: EXIF能够附加于JPEG.TIFF.RIFF等文件之中.为其添加有关数码相机拍摄信息的内容和索引图或图像处理软件的版本号信息. 全部的JPEG文件以字符串"0xFFD8"开头.并以字符串"0xFFD9"结束. 文件头中有一系列"0xFF?? "格式的字符串,称为"标识",用来标记JPEG文件的信息段."0xFFD8"表示图像信息開始."0xFFD9"表示图像信