android - 如何使用 ImageDecoder 获取可变位图?
问题描述
我正在创建位图如下
ImageDecoder.Source source = ImageDecoder.createSource(this.getContentResolver(), mSourceUri);
try {
bitmap = ImageDecoder.decodeBitmap(source));
} catch (IOException e) {
e.printStackTrace();
}
这将返回不可变位图。我看到了谷歌文档并且有一种方法setMutableRequired()
,但我找不到如何使用这种方法。它不适用于 ImageDecoder 以及源
解决方案
提供一个ImageDecoder.OnHeaderDecodedListener
作为第二个参数ImageDecoder.decodeBitmap()
。
在侦听器中,您将获得ImageDecoder
,您可以对其进行所需的更改。
ImageDecoder.decodeBitmap(imageSource, (decoder, info, source) -> {
decoder.setMutableRequired(true);
});
推荐阅读
- mysql - 如何从只有 1 个保存所有关系的多个 mysql 表中获取结果
- r - 中位数 VS 生存中位数(来自 survfit)
- sql - 从 DB2 到 Oracle 的转换:
- list - 如何读取坐标 csv 文件并分解为 E、N、Z 和 Station?
- powershell - 由于无法从 URI 下载,Powershell 无法安装 PowerShellGet
- sql - 如何使用当天计算 NRF 4-5-4 日历中的 MTD
- html - 不能在 div 中垂直居中 h3 元素
- javascript - 根据其他值在javascript中获取值一个数组
- javascript - 在 MongoDB 中获取聚合数据
- azure - Microsoft Azure OAuth 2.0 - 您可以存储授权令牌以供重复使用吗?