var reader = new FileReader(); reader.onload = function(readerEvent) { var image = new Image(); image.src = readerEvent.target.result; image.onload = function(imageEvent) { var width = image.naturalWidth; var height = image.naturalHeight; EXIF.getData(image, function() { EXIF.getAllTags(this); Orientation = EXIF.getTag(this, 'Orientation'); }); let canvas = document.createElement("canvas"); var cxt = canvas.getContext('2d'); if (Orientation == 3) { canvas.width = width; canvas.height = height; cxt.rotate(Math.PI); cxt.drawImage(image, 0, 0, -width, -height); } else if (Orientation == 8) { canvas.width = height; canvas.height = width; cxt.rotate(Math.PI * 3 / 2); cxt.drawImage(image, 0, 0, -width, height); } else if (Orientation == 6) { canvas.width = height; canvas.height = width; cxt.rotate(Math.PI / 2); console.warn(cxt); cxt.drawImage(image, 0, 0, width, -height); } else { canvas.width = width; canvas.height = height; cxt.drawImage(image, 0, 0, width, height); } var dataUrl = canvas.toDataURL(); var resizedImage = dataURLToBlob(dataUrl); function dataURLToBlob(dataurl) { var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); while (n--) { u8arr[n] = bstr.charCodeAt(n); } return new Blob([u8arr], { type: mime }); } $.event.trigger({ type: "imageResized", blob: resizedImage, url: dataUrl, }); $("#selfimg").attr("src", dataUrl); //上传图片 changepic(); }; }; reader.readAsDataURL(file.files[0]);
ios图片旋转处理
猜你喜欢
转载自www.cnblogs.com/jjmirai/p/12564817.html
今日推荐
周排行