mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-04-25 16:26:08 +00:00
Merge pull request #603 from alexbakker/resize-qr-image
Resize images to a max res of 640x480 before scanning for QR codes
This commit is contained in:
commit
a91339de73
2 changed files with 33 additions and 0 deletions
|
@ -0,0 +1,31 @@
|
||||||
|
package com.beemdevelopment.aegis.helpers;
|
||||||
|
|
||||||
|
import android.graphics.Bitmap;
|
||||||
|
|
||||||
|
public class BitmapHelper {
|
||||||
|
private BitmapHelper() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Scales the given Bitmap to the given maximum width/height, while keeping the aspect ratio intact.
|
||||||
|
*/
|
||||||
|
public static Bitmap resize(Bitmap bitmap, int maxWidth, int maxHeight) {
|
||||||
|
if (maxHeight <= 0 || maxWidth <= 0) {
|
||||||
|
return bitmap;
|
||||||
|
}
|
||||||
|
|
||||||
|
float maxRatio = (float) maxWidth / maxHeight;
|
||||||
|
float ratio = (float) bitmap.getWidth() / bitmap.getHeight();
|
||||||
|
|
||||||
|
int width = maxWidth;
|
||||||
|
int height = maxHeight;
|
||||||
|
if (maxRatio > 1) {
|
||||||
|
width = (int) ((float) maxHeight * ratio);
|
||||||
|
} else {
|
||||||
|
height = (int) ((float) maxWidth / ratio);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Bitmap.createScaledBitmap(bitmap, width, height, true);
|
||||||
|
}
|
||||||
|
}
|
|
@ -29,6 +29,7 @@ import com.beemdevelopment.aegis.Preferences;
|
||||||
import com.beemdevelopment.aegis.R;
|
import com.beemdevelopment.aegis.R;
|
||||||
import com.beemdevelopment.aegis.SortCategory;
|
import com.beemdevelopment.aegis.SortCategory;
|
||||||
import com.beemdevelopment.aegis.ViewMode;
|
import com.beemdevelopment.aegis.ViewMode;
|
||||||
|
import com.beemdevelopment.aegis.helpers.BitmapHelper;
|
||||||
import com.beemdevelopment.aegis.helpers.FabScrollHelper;
|
import com.beemdevelopment.aegis.helpers.FabScrollHelper;
|
||||||
import com.beemdevelopment.aegis.helpers.PermissionHelper;
|
import com.beemdevelopment.aegis.helpers.PermissionHelper;
|
||||||
import com.beemdevelopment.aegis.otp.GoogleAuthInfo;
|
import com.beemdevelopment.aegis.otp.GoogleAuthInfo;
|
||||||
|
@ -310,6 +311,7 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
|
||||||
|
|
||||||
try (InputStream inputStream = getContentResolver().openInputStream(inputFile)) {
|
try (InputStream inputStream = getContentResolver().openInputStream(inputFile)) {
|
||||||
bitmap = BitmapFactory.decodeStream(inputStream, null, bmOptions);
|
bitmap = BitmapFactory.decodeStream(inputStream, null, bmOptions);
|
||||||
|
bitmap = BitmapHelper.resize(bitmap, 640, 480);
|
||||||
}
|
}
|
||||||
|
|
||||||
int[] intArray = new int[bitmap.getWidth() * bitmap.getHeight()];
|
int[] intArray = new int[bitmap.getWidth() * bitmap.getHeight()];
|
||||||
|
|
Loading…
Add table
Reference in a new issue