From 130d2149f2d8f9b02d93e50c85610194cb629e25 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 20 Feb 2019 07:47:14 +0000 Subject: [PATCH] Fixed image scaling --- app/src/main/java/eu/faircode/email/FragmentCompose.java | 8 +++++--- app/src/main/java/eu/faircode/email/HtmlHelper.java | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 00459d7c20..1c2f36e554 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -1460,15 +1460,17 @@ public class FragmentCompose extends FragmentBase { options.inJustDecodeBounds = true; BitmapFactory.decodeFile(file.getAbsolutePath(), options); - int scaleTo = REDUCED_IMAGE_SIZE; - int factor = Math.min(options.outWidth / scaleTo, options.outWidth / scaleTo); + int factor = 1; + while (options.outWidth / factor > REDUCED_IMAGE_SIZE || + options.outHeight / factor > REDUCED_IMAGE_SIZE) + factor *= 2; + if (factor > 1) { options.inJustDecodeBounds = false; options.inSampleSize = factor; Bitmap scaled = BitmapFactory.decodeFile(file.getAbsolutePath(), options); if (scaled != null) { - Log.i("Image target size=" + scaled.getWidth() + "x" + scaled.getHeight()); OutputStream out = null; diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 14d66df8fc..a795b297b8 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -280,7 +280,10 @@ public class HtmlHelper { is = new URL(source).openStream(); int scaleTo = context.getResources().getDisplayMetrics().widthPixels; - int factor = Math.min(options.outWidth / scaleTo, options.outWidth / scaleTo); + int factor = 1; + while (options.outWidth / factor > scaleTo) + factor *= 2; + if (factor > 1) { Log.i("Download image factor=" + factor); options.inJustDecodeBounds = false;