Android Bitmap Load decodeSampledBitmapFromUrl(URL url, int reqWidth, int reqHeight)

Here you can find the source of decodeSampledBitmapFromUrl(URL url, int reqWidth, int reqHeight)

Description

decode Sampled Bitmap From Url

Declaration

private static Bitmap decodeSampledBitmapFromUrl(URL url, int reqWidth,
            int reqHeight) throws IOException 

Method Source Code

//package com.java2s;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;

import java.net.URL;
import java.net.URLConnection;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

public class Main {
    private static Bitmap decodeSampledBitmapFromUrl(URL url, int reqWidth,
            int reqHeight) throws IOException {
        URLConnection uc = url.openConnection();
        InputStream is = new BufferedInputStream(uc.getInputStream());

        final BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeStream(is, null, options);
        is.close();//  ww  w  .  j  a  v  a  2 s . co m

        options.inSampleSize = calculateInSampleSize(options, reqWidth,
                reqHeight);

        options.inJustDecodeBounds = false;
        uc = url.openConnection();
        is = new BufferedInputStream(uc.getInputStream());
        return BitmapFactory.decodeStream(uc.getInputStream(), null,
                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, int reqWidth, int reqHeight)
  2. decodeSampledBitmapFileForSize(File f, int reqWidth, int reqHeight)
  3. decodeSampledBitmapFromBytes(byte[] res, int reqWidth, int reqHeight)
  4. decodeSampledBitmapFromBytesForCurrentScreen( byte[] res, Context ctxt)
  5. decodeSampledBitmapFromResource(Resources res, int resId, int reqWidth, int reqHeight)
  6. decodeSampledBitmapStreamForSize(InputStream is, int reqWidth, int reqHeight)
  7. download(String url, String fileName)
  8. fetchImage(final Context context, final String url, final BitmapFactory.Options decodeOptions, final Object cookie, final OnFetchCompleteListener callback)
  9. fetchImage(final Context context, final String url, final OnFetchCompleteListener callback)