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

 更新时间:2016年09月01日 11:39:13   作者:森林森  
由于RoundedBitmapDrawable类没有直接提供生成圆形图片的方法,所以生成圆形图片首先需要对原始图片进行裁剪,将图片裁剪成正方形,最后再生成圆形图片,具体实现方法,可以参考下本文

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生成圆角图片的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

相关文章

  • Android图片等比例缩放和填充屏幕效果

    Android图片等比例缩放和填充屏幕效果

    这篇文章主要为大家详细介绍了Android图片等比例缩放和填充屏幕效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Android使用剪切板传递数据

    Android使用剪切板传递数据

    这篇文章主要为大家详细介绍了Android使用剪切板传递数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • DialogFragment运行原理及使用方法详解

    DialogFragment运行原理及使用方法详解

    这篇文章主要介绍了DialogFragment运行原理及使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Android10 App启动Activity源码分析

    Android10 App启动Activity源码分析

    这篇文章主要为大家介绍了Android10 App启动Activity源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android实现自动提取短信验证码功能

    Android实现自动提取短信验证码功能

    这篇文章主要为大家详细介绍了Android实现自动提取短信验证码功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • Android Bluetooth蓝牙技术初体验

    Android Bluetooth蓝牙技术初体验

    这篇文章主要介绍了Android Bluetooth蓝牙技术初体验的相关资料,需要的朋友可以参考下
    2016-02-02
  • Android调用高德地图定位的方法

    Android调用高德地图定位的方法

    本篇文章主要介绍了Android调用高德地图定位的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Android实现压缩字符串的方法示例

    Android实现压缩字符串的方法示例

    最近在做Android开发,遇到了需要压缩字符串的功能,下面这篇文章主要给大家介绍了Android实现压缩字符串的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-08-08
  • android系统按键音framework流程源码详细解析

    android系统按键音framework流程源码详细解析

    这篇文章主要为大家详细介绍了android系统按键音framework流程源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • jarsigner重新签名apk无法安装的解决方法

    jarsigner重新签名apk无法安装的解决方法

    这篇文章主要介绍了jarsigner重新签名apk无法安装的解决方法,需要的朋友可以参考下
    2014-04-04

最新评论