From b9a9255a5cc3b331c264f6f89fa53e6392ad36cf Mon Sep 17 00:00:00 2001 From: Pierre-Yves Nicolas <6371790+pynicolas@users.noreply.github.com> Date: Sat, 30 May 2026 21:52:02 +0200 Subject: [PATCH] More detailed exception when resizeToThumbnail fails (#185) --- .../java/org/fairscan/app/platform/ImageProcessor.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/fairscan/app/platform/ImageProcessor.kt b/app/src/main/java/org/fairscan/app/platform/ImageProcessor.kt index edbf8b2..e96ff0e 100644 --- a/app/src/main/java/org/fairscan/app/platform/ImageProcessor.kt +++ b/app/src/main/java/org/fairscan/app/platform/ImageProcessor.kt @@ -38,6 +38,7 @@ import org.fairscan.imageprocessing.resizeForMaxPixels import org.fairscan.imageprocessing.rotate import org.fairscan.imageprocessing.scaledTo import org.opencv.android.Utils +import org.opencv.core.CvException import org.opencv.core.Mat import org.opencv.core.Size import org.opencv.imgproc.Imgproc @@ -47,7 +48,7 @@ class ImageProcessor(private val thumbnailSizePx: Int) : ImageTransformations { override fun rotate(input: Jpeg, rotationDegrees: Int): Jpeg { return transform(input, ExportQuality.BALANCED.jpegQuality) { - org.fairscan.imageprocessing.rotate(it, rotationDegrees) + rotate(it, rotationDegrees) } } @@ -58,7 +59,12 @@ class ImageProcessor(private val thumbnailSizePx: Int) : ImageTransformations { val newW = (src.width() * ratio).toDouble() val newH = (src.height() * ratio).toDouble() val scaled = Mat() - Imgproc.resize(src, scaled, Size(newW, newH)) + try { + Imgproc.resize(src, scaled, Size(newW, newH)) + } catch (e: CvException) { + val msg = "Resize failed. src=${src.width()}x${src.height()} dst=${newW}x${newH}" + throw IllegalStateException(msg, e) + } scaled } }