我正在创建位图如下
ImageDecoder.Source source = ImageDecoder.createSource(this.getContentResolver(), mSourceUri);
try {
bitmap = ImageDecoder.decodeBitmap(source));
} catch (IOException e) {
e.printStackTrace();
}这将返回不变的位图。我看到了google文档,有一个setMutableRequired()方法,但是我找不到如何使用这个方法。它在ImageDecoder和源代码上都不起作用
发布于 2020-01-17 11:02:30
发布于 2020-05-01 07:14:15
提供一个ImageDecoder.OnHeaderDecodedListener作为ImageDecoder.decodeBitmap()的第二个参数。
在侦听器中,您可以得到ImageDecoder,您可以对其进行所需的更改。
ImageDecoder.decodeBitmap(imageSource, (decoder, info, source) -> {
decoder.setMutableRequired(true);
});发布于 2020-07-21 20:16:06
来自API 28
ImageDecoder.Source source = ImageDecoder.createSource(getContentResolver(), imageUri);
ImageDecoder.OnHeaderDecodedListener listener = new ImageDecoder.OnHeaderDecodedListener() {
@Override
public void onHeaderDecoded(@NonNull ImageDecoder decoder, @NonNull ImageDecoder.ImageInfo info, @NonNull ImageDecoder.Source source) {
decoder.setMutableRequired(true);
}
};
bitmap = ImageDecoder.decodeBitmap(source, listener);https://stackoverflow.com/questions/59782266
复制相似问题