2013-02-24 251 views
3

我用下面的语句将图像从资产复制到库的应用程序,这正常工作:用透明Android的透明图像获得纯黑色化背景

MediaStore.Images.Media.insertImage(getContentResolver(), myBitmap, myTitle , myDescription); 

图像是PNG-文件背景。当我将它们从资产加载到例如ImageView时,它们会正确显示。

问题是,以前导入图像的透明背景在图库中变得纯黑。

png是由gimp创建的png24。我还尝试了一个透明的gif和png,透明度与Apple的预览应用程序相同,结果相同。

有没有人有一个想法,为什么发生?

+0

您是否尝试过使用filepath参数的第二种方法?结果是一样的吗? – WarrenFaith 2013-02-24 13:44:58

+0

是的,这里也一样。我还明确设置了支持Alpha通道的格式:无变化: 'BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = Bitmap.Config.ARGB_8888;位图myBitmap = BitmapFactory.decodeFile(ctx.getFilesDir()。getAbsolutePath()+ java.io.File.separator +“locos”+“/ BR03_1049.png”,options); MediaStore.Images.Media.insertImage(ctx.getContentResolver(),myBitmap,“standardlok”,“ohne”); – 2013-02-24 16:04:53

回答

1

我知道这是一个老问题,但我只是有同样的问题。问题是MediaStore.Images.Media.insertImage存储MIME_TYPE为“image/jpeg”的文件,而jpeg不支持透明度。

一个解决方案是让你自己的内容提供者使用另一种图像格式。 Picasso图片库也许值得一看。