|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
import EXIF from 'exif-js'; |
|
|
|
|
|
|
|
|
|
const MAX_IMAGE_DIMENSION = 1280; |
|
|
|
|
const MAX_IMAGE_PIXELS = 1638400; // 1280x1280px
|
|
|
|
|
|
|
|
|
|
const getImageUrl = inputFile => new Promise((resolve, reject) => { |
|
|
|
|
if (window.URL && URL.createObjectURL) { |
|
|
|
@ -73,18 +73,8 @@ const processImage = (img, { width, height, orientation, type = 'image/png' }) = |
|
|
|
|
const resizeImage = (img, type = 'image/png') => new Promise((resolve, reject) => { |
|
|
|
|
const { width, height } = img; |
|
|
|
|
|
|
|
|
|
let newWidth, newHeight; |
|
|
|
|
|
|
|
|
|
if (width > height) { |
|
|
|
|
newHeight = height * MAX_IMAGE_DIMENSION / width; |
|
|
|
|
newWidth = MAX_IMAGE_DIMENSION; |
|
|
|
|
} else if (height > width) { |
|
|
|
|
newWidth = width * MAX_IMAGE_DIMENSION / height; |
|
|
|
|
newHeight = MAX_IMAGE_DIMENSION; |
|
|
|
|
} else { |
|
|
|
|
newWidth = MAX_IMAGE_DIMENSION; |
|
|
|
|
newHeight = MAX_IMAGE_DIMENSION; |
|
|
|
|
} |
|
|
|
|
const newWidth = Math.round(Math.sqrt(MAX_IMAGE_PIXELS * (width / height))); |
|
|
|
|
const newHeight = Math.round(Math.sqrt(MAX_IMAGE_PIXELS * (height / width))); |
|
|
|
|
|
|
|
|
|
getOrientation(img, type) |
|
|
|
|
.then(orientation => processImage(img, { |
|
|
|
@ -104,7 +94,7 @@ export default inputFile => new Promise((resolve, reject) => { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
loadImage(inputFile).then(img => { |
|
|
|
|
if (img.width < MAX_IMAGE_DIMENSION && img.height < MAX_IMAGE_DIMENSION) { |
|
|
|
|
if (img.width * img.height < MAX_IMAGE_PIXELS) { |
|
|
|
|
resolve(inputFile); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|