jpeg リソース イメージを ARGB_8888 形式のビットマップにロードしようとしています。
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap b = BitmapFactory.decodeResource(resources, resId, opts);
Log.d("test", b.getConfig().toString());
ここでresIdは jpeg 画像リソースの ID です。出力は「RGB_565」です。Android 2.2および2.3のエミュレーターでこれを試しました。
「inPreferredConfig」のドキュメントは次のように述べています。
これが null でない場合、デコーダはこの内部構成にデコードしようとします。null の場合、または要求が満たされない場合、デコーダーは、システムの画面深度、および元の画像の特性 (ピクセルごとのアルファがあるかどうかなど) に基づいて、最適な構成を選択しようとします (以下の構成も必要です)。します)。画像はデフォルトで ARGB_8888 設定で読み込まれます。
では、「ご要望にお応えできません」ということでしょうか?:) しかし、正直なところ、RGB_565 を ARGB_8888 にデコードするのが非常に難しいことがわかりません。
だから私は間違っているか、これはAndroidのバグだと思った...