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?

I know you can use setDrawingCacheEnabled(true), but that captures the whole view, when all I want is an area within the view.
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:)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With