美文网首页
EXIF-JS修改ios下图片自动旋转问题

EXIF-JS修改ios下图片自动旋转问题

作者: 不再犹豫Debug | 来源:发表于2020-04-01 17:32 被阅读0次

问题

项目中发现有些图片在iso端展示是自动旋转了180°。

原因

图片携带有拍照时的方向的属性。比如用手机横过来拍照,这个照片就会记录方向是横着的。虽然安卓和window正常,但是ios会读到这个img的方向的属性。然后按照属性旋转。

解决办法

npm install exif-js --save

import EXIF from "exif-js"
img.onload = () => {
        // 处理图片在ios下自动旋转问题
        let imgStyle = 'rotate(0deg)'
        var u = navigator.userAgent;
        var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
        if(isiOS) {
          EXIF.getData(img, function() {
            EXIF.getAllTags(this);
            let Orientation = 1;
            Orientation = EXIF.getTag(this, 'Orientation');
            switch (Orientation) {
              case 6: //需要顺时针(向左)90度旋转
                imgStyle = 'rotate(-90deg)';
                break;
              case 8: //需要逆时针(向右)90度旋转
                imgStyle = 'rotate(90deg)';
                break;
              case 3: //需要180度旋转
                imgStyle = 'rotate(180deg)';
                break;
            }
          });
        }
      }

在图片load完后,执行exif方法,获取img自带的反向属性。

相关文章

网友评论

      本文标题:EXIF-JS修改ios下图片自动旋转问题

      本文链接:https://www.haomeiwen.com/subject/ufbauhtx.html