🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Bitmap局部解码 [官网文档-BitmapRegionDecoder](https://developer.android.com/reference/android/graphics/BitmapRegionDecoder?hl=en) ,`BitmapRegionDecoder` 可用于解码图像中的矩形区域。当原始图像很大且只需要部分图像时,`BitmapRegionDecoder` 尤其有用。 要创建 `BitmapRegionDecoder`,请调用 `newInstance()` 。给定一个 `BitmapRegionDecoder`,用户可以重复调用 `encodeRegio()`以获取指定区域的解码后的 `Bitmap` 。 ```java try { inputStream = getResources().getAssets().open("qq.jpg"); BitmapRegionDecoder mRegionDecoder = BitmapRegionDecoder.newInstance(inputStream, false); BitmapFactory.Options sOptions = new BitmapFactory.Options(); sOptions.inPreferredConfig = Bitmap.Config.ARGB_8888; sOptions.inSampleSize = 2; Rect mRect = new Rect(); mRect.top = 0; mRect.left = 0; mRect.right = 100; mRect.bottom = 100; Bitmap bitmap = mRegionDecoder.decodeRegion(mRect, sOptions); //bitmap.getByteCount()=40000 } catch (IOException e) { e.printStackTrace(); } ``` 这里需要注意的是 `mRect` 的宽高不能太大,否则加载得到的 `Bitmap` 的时候也会出现 `OOM` 的异常。 ***** 文章到这里就全部讲述完啦,若有其他需要交流的可以留言哦~!~! 想阅读作者的更多文章,可以查看我 [个人博客](http://dandanlove.com/) 和公共号:![振兴书城](https://imgconvert.csdnimg.cn/aHR0cDovL3VwbG9hZC1pbWFnZXMuamlhbnNodS5pby91cGxvYWRfaW1hZ2VzLzEzMTk4NzktNjEyYzRjNjZkNDBjZTg1NS5qcGc?x-oss-process=image/format,png)