Home » Android » android – Create bitmap from specified screen area

android – Create bitmap from specified screen area

Posted by: admin June 15, 2020 Leave a comment

Questions:

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.

How to&Answers:

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:)