|
@ -67,6 +67,14 @@ const processImage = (img, { width, height, orientation, type = 'image/png' }) = |
|
|
|
|
|
|
|
|
context.drawImage(img, 0, 0, width, height); |
|
|
context.drawImage(img, 0, 0, width, height); |
|
|
|
|
|
|
|
|
|
|
|
// The Tor Browser and maybe other browsers may prevent reading from canvas
|
|
|
|
|
|
// and return an all-white image instead. Assume reading failed if the resized
|
|
|
|
|
|
// image is perfectly white.
|
|
|
|
|
|
const imageData = context.getImageData(0, 0, width, height); |
|
|
|
|
|
if (imageData.every(value => value === 255)) { |
|
|
|
|
|
throw 'Failed to read from canvas'; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
canvas.toBlob(resolve, type); |
|
|
canvas.toBlob(resolve, type); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|