Get the image as a thumbnail

I am working in an Android application, but I am stuck in a problem when I receive a camera image. I show this image in the image view, but I need to show the same image as the thumbnail. I checked one application here link

Here is the image:

enter image description here

-2
source share
2 answers

Use the following method to get thumbnails.

This method is useful if you have an Image Path.

/**
 * Create a thumb of given argument size
 * 
 * @param selectedImagePath
 *            : String value indicate path of Image
 * @param thumbWidth
 *            : Required width of Thumb
 * @param thumbHeight
 *            : required height of Thumb
 * @return Bitmap : Resultant bitmap
 */
public static Bitmap createThumb(String selectedImagePath, int thumbWidth,
        int thumbHeight) {
    BitmapFactory.Options options = new BitmapFactory.Options();

    // Decode weakReferenceBitmap with inSampleSize set
    options.inJustDecodeBounds = true;

    BitmapFactory.decodeFile(selectedImagePath, options);

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

    int inSampleSize = 1;

    if (height > thumbHeight || width > thumbWidth) {
        if (width > height) {
            inSampleSize = Math.round((float) height / (float) thumbHeight);
        } else {
            inSampleSize = Math.round((float) width / (float) thumbWidth);
        }
    }

    options.inJustDecodeBounds = false;
    options.inSampleSize = inSampleSize;

    return BitmapFactory.decodeFile(selectedImagePath, options);
}

To use this method,

createThumb("path of image",100,100);

Edit

This method is used when you have a Bitmap image of your image.

public static Bitmap createThumb(Bitmap sourceBitmap, int thumbWidth,int thumbHeight) {
    return Bitmap.createScaledBitmap(sourceBitmap, thumbWidth, thumbHeight,true);
}

to use this method

createThumb(editedImage, 100, 100);
+1

, , ,

public Bitmap crateThumbNail(String imagePath,int size) {
        try {
            // Decode image size
            BitmapFactory.Options o = new BitmapFactory.Options();
            o.inJustDecodeBounds = true;
            BitmapFactory.decodeFile(imagePath, o);
            // The new size we want to scale to
            final int REQUIRED_SIZE = size;

            // Find the correct scale value. It should be the power of 2.
            int scale = 1;
            while (o.outWidth / scale / 2 >= REQUIRED_SIZE && o.outHeight / scale / 2 >= REQUIRED_SIZE)
                scale *= 2;

            // Decode with inSampleSize
            BitmapFactory.Options o2 = new BitmapFactory.Options();
            o2.inSampleSize = scale;
            return BitmapFactory.decodeFile(imagePath, o2);
        } catch (Throwable e) {
            e.printStackTrace();
        }
        return null;

    }
0

Source: https://habr.com/ru/post/1535344/


All Articles