From 38f992d01de775d19b3d81ae1ff7b8da50930722 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Wed, 6 May 2020 11:43:50 -0500 Subject: [PATCH] Degrade zoom image quality rather than failing --- iOS/Resources/main_ios.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/iOS/Resources/main_ios.js b/iOS/Resources/main_ios.js index 5c7ca4f74..4104749cf 100644 --- a/iOS/Resources/main_ios.js +++ b/iOS/Resources/main_ios.js @@ -34,8 +34,12 @@ class ImageViewer { this.hideLoadingIndicator(); var canvas = document.createElement("canvas"); - canvas.width = this.img.naturalWidth * window.devicePixelRatio; - canvas.height = this.img.naturalHeight * window.devicePixelRatio; + var pixelRatio = window.devicePixelRatio; + do { + canvas.width = this.img.naturalWidth * pixelRatio; + canvas.height = this.img.naturalHeight * pixelRatio; + pixelRatio--; + } while (pixelRatio > 0 && canvas.width * canvas.height > 16777216) canvas.getContext("2d").drawImage(this.img, 0, 0, canvas.width, canvas.height); const rect = this.img.getBoundingClientRect();