Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 988
Rohit Avatar asked Oct 11 '12 10:10

Rohit


People also ask

What tool do we use to display images in android select one?

ImageView class is used to display any kind of image resource in the android application either it can be android.

What is adjustViewBounds?

adjustViewBounds=trueThe image is scaled uniformly and maintains the aspect ratio, in this case because the image will be equal or less than the ImageView it gets centered in it. Also the height is maintained since we are using adjustViewBounds.


2 Answers

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);
like image 165
Deepika Avatar answered Oct 15 '22 12:10

Deepika


// Set some constants
private static final Bitmap SOURCE_BITMAP = BitmapFactory.decodeFile(....); // Get the source Bitmap using your favorite method :-)
private static final int START_X = 10;
private static final int START_Y = 15;
private static final int WIDTH_PX = 100;
private static final int HEIGHT_PX = 100;

// Crop bitmap
Bitmap newBitmap = Bitmap.createBitmap(SOURCE_BITMAP, START_X, START_Y, WIDTH_PX, HEIGHT_PX, null, false);

// Assign new bitmap to ImageView
ImageView image = (ImageView)findViewById(R.id.image_view);
image.setImageBitmap(newBitmap);
like image 36
Nam Vu Avatar answered Oct 15 '22 11:10

Nam Vu