2011-02-03 2 views
0

나는 SD 카드에 투명 PNG 이미지를 저장했습니다. 나는 지금 표시하고 싶다. 나는 그 다음 코드를 사용했다.안드로이드의 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는 아마도 알파 채널을 버리고 있습니다 (즉, 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