0
  1. Below is the code I use to read my image file when I save my image file using FileProvider:

    public static Bitmap readBitmapFromIntentReturn(Context context, Intent intentReturn, Uri uri) {
                    try {
                        AssetFileDescriptor fileDescriptor = null;
                        fileDescriptor = context.getContentResolver().openAssetFileDescriptor(uri, "r");
    
                        BitmapFactory.Options options = new BitmapFactory.Options();
                        options.inJustDecodeBounds = true;
                        BitmapFactory.decodeFileDescriptor(fileDescriptor.getFileDescriptor(), null, options);
    
                        options.inSampleSize = SystemFunctions.calculateInSampleSize(options);
    
                        options.inJustDecodeBounds = false;
                        Bitmap bitmap = BitmapFactory.decodeFileDescriptor(fileDescriptor.getFileDescriptor(), null, options);
                        return bitmap;
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                return null;
            }
    

2. Method use to resize the image before I upload it or other, not sure the size is resize correctly or not:

    public static int calculateInSampleSize(BitmapFactory.Options options) {
                final int reqHeight = 360;
                final int reqWidth = 360;

                final int height = options.outHeight;
                final int width = options.outWidth;
                int inSampleSize = 1;

                if (height > reqHeight || width > reqWidth) {

                    final int halfHeight = height / 2;
                    final int halfWidth = width / 2;

                    while ((halfHeight / inSampleSize) > reqHeight
                            && (halfWidth / inSampleSize) > reqWidth) {
                        inSampleSize *= 2;
                    }
                }

                Log.d("TestSampleSize", "TestSampleSize : " + String.valueOf(inSampleSize));
                return inSampleSize;
            }
Dylan Ang
  • 5
  • 4

0 Answers0