通用图像加载程序roundedBitmapDisplayer问题

Mur*_*san 14 android universal-image-loader

我正在使用最新的universal-image-loader-1.9.2-SNAPSHOT-with-sources.jar文件.它的工作正常.我想将图像更改为圆形(圆形).我使用了以下显示选项.

             DisplayImageOptions userimgoptions = new DisplayImageOptions.Builder()
                           .displayer(new RoundedBitmapDisplayer(35))
                           .showImageOnLoading(android.R.color.transparent)
                           .showImageForEmptyUri(R.drawable.picture_info_profile_img)
                           .showImageOnFail(R.drawable.picture_info_profile_img)
                           .cacheInMemory(true).cacheOnDisc(true)
                           .bitmapConfig(Bitmap.Config.RGB_565).build();
Run Code Online (Sandbox Code Playgroud)

它不适用于某些图像.我已经测试了它的低分辨率和高分辨率它不起作用.

注意:在我的xml Imageview高度和(55*55).

在此输入图像描述 在此输入图像描述 在此输入图像描述 在此输入图像描述

请帮助我解决这个问题.我无法解决这个问题.

谢谢,

tim*_*rom 18

如果你愿意,你可以改变一个圆形图像.displayer(new RoundedBitmapDisplayer(25)).displayer(new RoundedBitmapDisplayer(1000))这为我工作.


Bri*_*ian 10

如果你想要一个圆形图像,你需要将圆形位图显示器设置为图像的半径,在你的情况下是1/2 55或27.5

DisplayImageOptions userimgoptions = new DisplayImageOptions.Builder()
                       .displayer(new RoundedBitmapDisplayer((int) 27.5f))
                       .showImageOnLoading(android.R.color.transparent)
                       .showImageForEmptyUri(R.drawable.picture_info_profile_img)
                       .showImageOnFail(R.drawable.picture_info_profile_img)
                       .cacheInMemory(true).cacheOnDisc(true)
                       .bitmapConfig(Bitmap.Config.RGB_565).build();
Run Code Online (Sandbox Code Playgroud)

但是硬编码可能不是一个好主意,我会在你实际得到位图并计算宽度时更改配置.


小智 7

我发现即使最新的重写,RoundedBitmpDisplayer仍然很慢.到目前为止,我发现获得圆角的最快方法是使用RoundedImageView. https://github.com/vinc3m1/RoundedImageView 您可以将该视图传递给UIL,视图将为您舍入角落.您只需指定所需的半径即可.