从指定的屏幕区域创建位图

我正在尝试从屏幕上的特定区域创建位图。 例如,在下图中,我如何捕获下面的窗口区域并将其转换为位图?

图片

我知道你可以使用setDrawingCacheEnabled(true),但是当我想要的只是视图中的一个区域时,它会捕获整个视图。

Bitmap创建InputStream后,您实际上可以使用Android的BitmapRegionDecoder.decodeRegion()

您可以将Rect对象传递给decodeRegion方法,如下所示:

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

干杯q 🙂