John Smith
John Smith

Reputation: 83

Create bitmap from specified screen area

I'm trying to create a bitmap from a specific area on the screen. For example in the following image how could I capture the windowed area below and convert it into a bitmap?

Image

I know you can use setDrawingCacheEnabled(true), but that captures the whole view, when all I want is an area within the view.

Upvotes: 8

Views: 1422

Answers (1)

woot
woot

Reputation: 3731

You can actually use Android's BitmapRegionDecoder.decodeRegion() after you create an InputStream from your Bitmap.

You can pass a Rect object to the decodeRegion method like so:

BitmapRegionDecoder brd = BitmapRegionDecoder.newInstance(inputStream, true);
Bitmap croppedBitmap = brd.decodeRegion(new Rect(left, top, right, bottom), null);

Cheers q:)

Upvotes: 11

Related Questions