还是那个问题:网上的大胸弟们BB一大堆,没几个给的代码能用的,话不多说,直接上demo:

链接:https://pan.baidu.com/s/1jJ6vnt8 密码:swwm

不要忽视demo中的setTimeout,每个人的机子和浏览器的反应速度不同,而exif.js貌似又是异步型的,如果不用setTimeout,会导致在某些浏览器(PC或手机)不能旋转。我在demo设置的时间为1毫秒,这时间是最短的了,不设置的话,本屌的谷歌浏览器有50%的几率不旋转图片。我试过同事的iphone6S,要设置到500毫秒才能保证百分百旋转。(如果各位觉得这样用户体验不好,可先设置图片透明度为0,旋转完成后再变成1,即可解决转图片的坑爹视觉效果)。

下面介绍何为exif,

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

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

  简单来说:iphone和数码相机拍出来的照片带exif,用照片查看器,或在iphone上看图片是正的,在浏览器中用img标签加载的时候却是旋转过的。

exif.js 旋转图片相关推荐

  1. exif.js html图片旋转,exif获取图片旋转角度

    任何旋转,都可以用一个旋转轴 ω CGAffineTransform _trans = sticker.transform; CGFloat rotate = acosf(_trans.a);... ...

  2. exif.js html图片旋转,exif.js 实现图片旋转到正常

    下载exif.js npm install exif-js --save 引入exif.js import EXIF from 'src/utils/exif-js'; //旋转图片到正常 const ...

  3. python根据exif信息旋转图片

    这几天在写业务代码有个需求:压缩图片.本来是很简单需求,三下五除二就写好了,但是在自己用手机上传图片的时候发现压缩后的图片都歪了,查了一下,原因是图片中的exif信息中的Orientation记录中图 ...

  4. exif.js html图片旋转,解决图片显示 Exif.js更改图片的显示方向

    没什么文字直接上代码 //这是一个解决exif更改脱方向的一个js文件 // 应用前先npm install exif-js --save或者直接引入exif-js 调用方法 // let baseD ...

  5. 详解exif.js,应用于canvas照片倒转(海报H5)

    业务背景,苹果手机调用上传接口拍照没有问题但是上传到网页上照片倒转了解决方法利用exif.js读取图片参数并对图片进行元数据修改 window.btoa(str)转码 window.atob(base ...

  6. js获取图片的EXIF,解决图片旋转问题

    相信大家在做项目的时候会遇到在canvas里加入图片时,图片发生90°,180°的旋转.当时的你肯定时懵逼的,为毛. 其实这就是图片的EXIF搞的鬼. 什么是EXIF 简单来说,Exif 信息就是由数 ...

  7. 通过exif.js简单处理手机照片拍摄图片旋转问题

    在移动端拍照获取图片后,然后使用canvas压缩图片,有时我们会发现输出的图片是旋转过的. 其实当我们旋转手机拍照的时候,就会产生一个角度问题,生成的图片都会有EXIF meta data.然后我们可 ...

  8. JS获取图片的EXIF信息+纠正图片方向

    前端图片处理碰到的一个离奇 bug , 关于图片的 EXIF 信息,特地记录下来 . 然后使用一下代码可以获取Orientation信息,并纠正Orientation带来的图片旋转问题 // from ...

  9. 利用exif.js解决ios或Android手机上传竖拍照片旋转90度问题

    html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...

最新文章

  1. 7 Papers Radios | GCN大佬公开博士论文;谷歌提出扩展型BERT架构
  2. 面向程序员的网络基本知识 - 网络模型及网络设备
  3. php flock 超时,php flock失效问题
  4. 从Deepwalk到Node2vec
  5. Dijkstra的理解和实现
  6. [luogu2664]树上游戏
  7. 浮点数的表示和基本运算 【转载】
  8. python 倒排索引 性能_python 实现倒排索引的方法
  9. HDU1848 Fibonacci again and again【SG函数】
  10. UE4之Import源码解析
  11. 记风雨兼程的2020年,2021年,我来了!
  12. 程序相关概念及OS Linux发行版
  13. 【Driver】协作安装程序
  14. Beyond Compare for MAC反编译class文件
  15. C#窗体标准计算器(下) 初级新手请多担待。
  16. python pdb模块_Biopython PDB模块
  17. msm8953 PWM背光
  18. 骇客(Hacker)用语
  19. HDMI线、DP线、DVI线、VGA线
  20. 日本财险前瞻2012年IT发展 CDP技术助力异地灾备

热门文章

  1. 蓝桥杯九进制转换为十进制
  2. 皮卡丘为什么不进化_神奇宝贝:为什么皮卡丘一直不愿进化?最终真相令人泪目!...
  3. 店宝宝:怎么给店铺带来自然流量
  4. Codeforces 922 div2 d、e、f
  5. 组织架构分类 :职能型、项目型、弱矩阵型、强矩阵型
  6. 关于网购二手电脑防骗经验分享
  7. MySQL curdate()函数
  8. 固定电话/小灵通/手机呼叫转移设置方法
  9. KaiwuDB CTO 魏可伟:1.0 时序数据库技术解读
  10. 指定nacos配置文件格式为yml格式