Android 使用Glide下载位图时会失去透明度
我正在尝试使用Glide库(版本4)在android应用程序中下载位图图像,但当我下载时,图像的透明度将丢失,并被白色背景所取代。Android 使用Glide下载位图时会失去透明度,android,android-glide,bitmapimage,Android,Android Glide,Bitmapimage,我正在尝试使用Glide库(版本4)在android应用程序中下载位图图像,但当我下载时,图像的透明度将丢失,并被白色背景所取代。我尝试使用以下命令: Glide.with(this).load(url).into(imageView); 及 然而,一切似乎都不起作用 图像url为: 下面是该应用程序的一些屏幕截图: 应该是这样的。 (看起来当我使用png图像时,红色背景是ImageView的背景,图像背景是透明的。) 这是位图的外观 (透明背景变成白色。) 非常感谢。据我所知,BMP格式
我尝试使用以下命令:
Glide.with(this).load(url).into(imageView);
及 然而,一切似乎都不起作用 图像url为: 下面是该应用程序的一些屏幕截图:
应该是这样的。 (看起来当我使用png图像时,红色背景是ImageView的背景,图像背景是透明的。)
这是位图的外观 (透明背景变成白色。)
非常感谢。据我所知,BMP格式中没有alpha通道
此链接可能重复-使用PNG而不是BMP进行尝试。@Commonware我使用PNG进行了尝试(这是第一个图像链接),但我也需要能够使用位图进行此操作。您假设Android在解码BMP图像时支持alpha通道。由于BMP中的alpha通道支持似乎很弱,如果Android不支持它,我也不会感到惊讶。直接使用
BitmapFactory
运行测试,跳过Glide——如果BMP“失去”透明度,那么Android根本不支持该文件格式。如果手动下载图像,您可以看到背景是透明的。我无法访问您的图像url图像url:它也在问题中发布。
Glide.with(this).asBitmap().load(url).into(imageView);
Glide.with(this).load(url).apply( new RequestOptions().format(DecodeFormat.PREFER_ARGB_8888).encodeFormat(Bitmap.CompressFormat.PNG)).into(imageView);
Glide.with(context).load(dataModel.getImgurl())
.thumbnail(0.5f)
.fitCenter()
.centerCrop()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);