Search code examples
androidimageviewscale

android - How to cut some part of image and show it in imageview


I want to show only some part of image in imageview. See following image . image part

Same example can be found in google+ app where you see all posts with images.

Any links ,code will be helpful. Thanks


Solution

  • Use this code

    int width = bitmapOrg.width();
    int height = bitmapOrg.height();
    int newWidth = 200;
    int newHeight = 200;
    
    // calculate the scale - in this case = 0.4f
    float scaleWidth = ((float) newWidth) / width;
    float scaleHeight = ((float) newHeight) / height;
    
    // createa matrix for the manipulation
    Matrix matrix = new Matrix();
    // resize the bit map
    matrix.postScale(scaleWidth, scaleHeight);
    
    // recreate the new Bitmap
    Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0, 
                      width, height, matrix, true); 
    
    // make a Drawable from Bitmap to allow to set the BitMap 
    // to the ImageView, ImageButton or what ever
    BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);
    
    ImageView imageView = new ImageView(this);
    
    // set the Drawable on the ImageView
    imageView.setImageDrawable(bmd);