getting Image ThumbNail in Android

前端 未结 4 1461
北荒
北荒 2020-12-28 08:52

I need Thumbnail of an image . I only know about the name of image which is stored in SD card . Can anyone help me.

相关标签:
4条回答
  • 2020-12-28 09:06
    byte[] imageData = null;
    
    try
    {
    
    final int THUMBNAIL_SIZE = 64;
    
    FileInputStream fis = new FileInputStream(fileName);
    Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
    
    Float width = new Float(imageBitmap.getWidth());
    Float height = new Float(imageBitmap.getHeight());
    Float ratio = width/height;
    imageBitmap = Bitmap.createScaledBitmap(imageBitmap, (int)(THUMBNAIL_SIZE * ratio), THUMBNAIL_SIZE, false);
    
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
    imageData = baos.toByteArray();
    
    }
    catch(Exception ex) {
    
    } 
    
    0 讨论(0)
  • 2020-12-28 09:15

    If you like HQ thumbnails, so use [RapidDecoder][1] library. It is simple as follow:

    import rapid.decoder.BitmapDecoder;
    ...
    Bitmap bitmap = BitmapDecoder.from(getResources(), R.drawable.image)
                                 .scale(width, height)
                                 .useBuiltInDecoder(true)
                                 .decode();
    

    Don't forget to use builtin decoder if you want to scale down less than 50% and a HQ result.

    0 讨论(0)
  • 2020-12-28 09:17

    Try this.

    final int THUMBSIZE = 64;
    
    Bitmap ThumbImage = ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(imagePath), 
                        THUMBSIZE, THUMBSIZE);
    

    Refer this for more details.

    0 讨论(0)
  • 2020-12-28 09:22

    Using MediaStore.Images.Thumbnails you can query and get two kinds of thumbnails: MINI_KIND: 512 x 384 thumbnail MICRO_KIND: 96 x 96 thumbnail.

    The advantage of using this call is that the thumbnails are cached by the MediaStore. So retrieval would be faster if the thumbnail was previously created.

    0 讨论(0)
提交回复
热议问题