如何使用Exif修复预览时的图像旋转

时间:2019-04-19 04:21:46

标签: javascript exif image-rotation exif-js

我的一些图像在预览时旋转(在用户选择它们之后)。我试图添加一个Exif函数,但它仍在旋转图片。我相信我缺少一些小东西。我在代码中丢失了某些内容,还是需要添加一个库?

// UPLOAD IMAGE PREVIEW
function readURL(input) {
  if (input.files && input.files[0]) {
    var reader = new FileReader();

    reader.onload = function(e) {
      var img = $('#_nc_image_default')
      img.attr('src', e.target.result);
      fixExifOrientation(img)

    };

    reader.readAsDataURL(input.files[0]);
  }
}

function fixExifOrientation($img) {
  $img.on('load', function() {
    EXIF.getData($img[0], function() {
      console.log('Exif=', EXIF.getTag(this, "Orientation"));
      switch (parseInt(EXIF.getTag(this, "Orientation"))) {
        case 2:
          $img.addClass('flip');
          break;
        case 3:
          $img.addClass('rotate-180');
          break;
        case 4:
          $img.addClass('flip-and-rotate-180');
          break;
        case 5:
          $img.addClass('flip-and-rotate-270');
          break;
        case 6:
          $img.addClass('rotate-90');
          break;
        case 7:
          $img.addClass('flip-and-rotate-90');
          break;
        case 8:
          $img.addClass('rotate-270');
          break;
      }
    });
  });
}

0 个答案:

没有答案