当前位置: 移动技术网 > IT编程>移动开发>Android > 使用RoundedBitmapDrawable生成圆角图片的方法

使用RoundedBitmapDrawable生成圆角图片的方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

bitmap src = bitmapfactory.decoderesource(getresources(), imageid); //获取bitmap图片
roundedbitmapdrawable roundedbitmapdrawable = roundedbitmapdrawablefactory.create(getresources(), src); //创建roundedbitmapdrawable对象
roundedbitmapdrawable.setcornerradius(100); //设置圆角半径(根据实际需求)
roundedbitmapdrawable.setantialias(true); //设置反走样
image.setimagedrawable(roundedbitmapdrawable); //显示圆角图片 

动态

生成圆形图片

由于roundedbitmapdrawable类没有直接提供生成圆形图片的方法,所以生成圆形图片首先需要对原始图片进行裁剪,将图片裁剪成正方形,最后再生成圆形图片,具体实现如下:

bitmap src = bitmapfactory.decoderesource(getresources(), imageid);
bitmap dst;
//将长方形图片裁剪成正方形图片
if (src.getwidth() >= src.getheight()){
dst = bitmap.createbitmap(src, src.getwidth()/2 - src.getheight()/2, 0, src.getheight(), src.getheight()
);
}else{
dst = bitmap.createbitmap(src, 0, src.getheight()/2 - src.getwidth()/2, src.getwidth(), src.getwidth()
);
}
roundedbitmapdrawable roundedbitmapdrawable = roundedbitmapdrawablefactory.create(getresources(), dst);
roundedbitmapdrawable.setcornerradius(dst.getwidth() / 2); //设置圆角半径为正方形边长的一半
roundedbitmapdrawable.setantialias(true);
image.setimagedrawable(roundedbitmapdrawable);

以上所述是小编给大家介绍的使用roundedbitmapdrawable生成圆角图片的方法,希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网