Отображение PNG изображения с SD-карты Android - PullRequest
0 голосов
/ 03 февраля 2011

Я сохранил прозрачное изображение PNG на SD-карте. Я хочу показать сейчас. Для этого я использовал следующий код.

selected_photo = (ImageView) findViewById(R.id.selected_photo);
Uri photoUri = Uri.parse(photoPath);
                        selected_photo.setImageBitmap(MediaStore.Images.Media.getBitmap(getContentResolver(),photoUri));

Но это дает непрозрачное изображение на дисплее. Как отобразить изображение PNG без потери прозрачности?

1 Ответ

5 голосов
/ 03 февраля 2011

MediaStore API, вероятно, отбрасывает альфа-канал (то есть декодирует в RGB565).Если у вас есть путь к файлу, просто используйте BitmapFactory напрямую, но попросите его использовать формат, сохраняющий альфа:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
Bitmap bitmap = BitmapFactory.decodeFile(photoPath, options);
selected_photo.setImageBitmap(bitmap);
...