将不可变位图文件转换为可变位图

Convert immutable Bitmap file to mutable Bitmap

答:

 Bitmap immutableBmp= BitmapFactory.decodeResource(getApplicationContext().getResources(),R.drawable.sample);
 mutableBitmap=immutableBmp.copy(Bitmap.Config.ARGB_8888, true);

乙:

Bitmap immutableBmp= BitmapFactory.decodeFile(filePath);
mutableBitmap=immutableBmp.copy(Bitmap.Config.ARGB_8888, true);

C:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inMutable=true;
myBitmap=BitmapFactory.decodeFile(filePath,options);

A 有效,但 B 和 C 无效。我正在尝试将不可变位图转换为可变位图。它适用于资源图像,但不适用于文件图像。有什么问题?

我找到问题了!上面的所有 3 种方法都有效,我的图像分辨率有问题,所以我认为代码不起作用并且它不是可变的,但我错了。这是将不可变图像更改为可变图像的另一种解决方案。

BitmapFactory.decodeResource returns a mutable Bitmap in Android 2.2 and an immutable Bitmap in Android 1.6

找到这个:

Bitmap bmp_Copy = bmp_Base.copy(Bitmap.Config.ARGB_8888,true);