2011-02-03 82 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