Android Bitmap Load decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight)

Here you can find the source of decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight)

Description

decode Sampled Bitmap From Resource

Declaration

private static Bitmap decodeSampledBitmapFromResource(Resources res,
            int resId, int reqWidth, int reqHeight) 

Method Source Code

//package com.java2s;

import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public class Main {
    private static Bitmap decodeSampledBitmapFromResource(Resources res,
            int resId, int reqWidth, int reqHeight) {

        final BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeResource(res, resId, options);

        options.inSampleSize = calculateInSampleSize(options, reqWidth,
                reqHeight);//from   w ww  .  ja  va 2  s .c o m

        options.inJustDecodeBounds = false;
        return BitmapFactory.decodeResource(res, resId, options);
    }

    private static int calculateInSampleSize(BitmapFactory.Options options,
            int reqWidth, int reqHeight) {
        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;
            }
        }
        return inSampleSize;
    }
}

Related

  1. decodeFromFile(String path)
  2. decodeFromFile(String path, int reqWidth, int reqHeight)
  3. decodeSampledBitmapFileForSize(File f, int reqWidth, int reqHeight)
  4. decodeSampledBitmapFromBytes(byte[] res, int reqWidth, int reqHeight)
  5. decodeSampledBitmapFromBytesForCurrentScreen( byte[] res, Context ctxt)
  6. decodeSampledBitmapFromUrl(URL url, int reqWidth, int reqHeight)
  7. decodeSampledBitmapStreamForSize(InputStream is, int reqWidth, int reqHeight)
  8. download(String url, String fileName)
  9. fetchImage(final Context context, final String url, final BitmapFactory.Options decodeOptions, final Object cookie, final OnFetchCompleteListener callback)