2011-02-03 60 views
0

我已经在SD卡中保存了一个透明的PNG图像。我想要显示的是现在。我正在使用follwing代码。来自Android的SD卡的PNG图像显示

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

但它是给一个不透明的图像显示。如何显示PNG图像而不失去透明度?

回答

5

MediaStore API可能会丢弃alpha通道(即解码为RGB565)。如果你有一个文件路径,直接使用BitmapFactory,但告诉它使用一个保留阿尔法的格式:

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

没有在我的情况下工作。 – Abhishek 2016-05-09 10:24:04

相关问题