Reputation: 83
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.
Upvotes: 8
Views: 1422
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