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は機能しますが、BとCは機能しません。不変のビットマップを可変に変換しようとしています。リソースイメージでは機能しますが、ファイルイメージでは機能しません。どうしたの?
問題を見つけました!上記の3つの方法はすべて機能しており、画像の解像度に問題があったため、コードは機能せず、変更可能ではないと思いましたが、私は間違っていました。不変のイメージを変更可能に変更する別のソリューションを次に示します。
BitmapFactory.decodeResourceは、Android 2.2で変更可能なビットマップを返し、Android 1.6)で不変のビットマップを返します
これが見つかりました:
Bitmap bmp_Copy = bmp_Base.copy(Bitmap.Config.ARGB_8888,true);