将不可变位图文件转换为可变位图
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);
答:
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);