Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert immutable Bitmap file to mutable Bitmap

Tags:

A:

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

B:

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 works but B and C don't. I am trying to convert an immutable bitmap to mutable. It works on resource images but not file images. What's the problem?

like image 426
Alex Avatar asked May 24 '15 16:05

Alex


2 Answers

Found this:

Bitmap bmp_Copy = bmp_Base.copy(Bitmap.Config.ARGB_8888,true);
like image 67
Florian Erwig Avatar answered Sep 17 '22 19:09

Florian Erwig


I have found the problem! All of the 3 methods above are working, there was a problem with the resolution of my image, so I thought the code didn't work and it was not mutable but I was wrong. Here is another solution to change immutable image to mutable.

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

like image 20
Alex Avatar answered Sep 19 '22 19:09

Alex