SpunkerBaba
SpunkerBaba

Reputation: 2127

How to display a part of an image?

I have a large image. But i have to display just some portion of it. How is this possible using Android ImageView?

Upvotes: 5

Views: 8476

Answers (2)

TJF
TJF

Reputation: 569

You could always crop the piece that you need via the Bitmap.createBitmap() static method, and then assign it to the view:

Something like...

// 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);

Upvotes: 14

Denis Palnitsky
Denis Palnitsky

Reputation: 18387

Use android:scaleType="centerInside"

Upvotes: 4

Related Questions