私はARGB_8888形式のビットマップにJPEGリソース画像をロードしようとするが無視されます:BitmapFactory.decodeResource()JPG画像のinPreferredConfigオプション
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());
ここ残油は、JPEG画像リソースのIDです。 出力は「RGB_565」です。 アンドロイド2.2と2.3のエミュレータでこれを試してみました。 「inPreferredConfig」の
ドキュメントは言う:
これが非nullの場合、デコーダは、この内部 設定に解読しようとします。 nullの場合、または要求を満たすことができない場合、 デコーダは、 システムの画面の深さと元の画像の特性( など)に基づいて、最適な一致する設定を選択しようとします。 configも同様です)。 イメージはデフォルトでARGB_8888の設定で読み込まれます。
「」の場合、私は「」の要求に合致できません。 :) しかし、私は正直なところ、RGB_565をARGB_8888にデコードすることは非常に難しいとは見えません。
ので、ソースを見た後、私は定義されinPreferredConfig
に従うことを決定はネイティブコードで行われていることのみを伝えることができ
は、同じ問題を持ちます。まだ解決されていますか? – tofi9
いいえ、解決されていません。 IIRC私はjpgの代わりにpngを使用しなければならなかった... – dimsuz
私の問題は私のせいだと分かった。ビットマップはRGB_565にロードされません。 (ビットマップ、0、0、幅、高さ、行列、真);) – tofi9