本文主要讲如何将项目中的图片设置成圆形来显示,直接用封装好的如下方法即可

public static Bitmap getRoundBitmap(Bitmap bitmap) {     int width = bitmap.getWidth();     int height = bitmap.getHeight();     float roundPx;     float left, top, right, bottom, dst_left, dst_top, dst_right, dst_bottom;    if (width <= height) {         roundPx = width / 2;      top = 0;         bottom = width;        left = 0;        right = width;    height = width;         dst_left = 0;        dst_top = 0;       dst_right = width;        dst_bottom = width;    } else {         roundPx = height / 2;         float clip = (width - height) / 2;     left = clip;        right = width - clip;      top = 0;      bottom = height;       width = height;       dst_left = 0;     dst_top = 0;        dst_right = height;        dst_bottom = height;}     Bitmap output = Bitmap.createBitmap(width,  height, Config.ARGB_8888);     Canvas canvas = new Canvas(output);     final int color = 0xff424242;     final Paint paint = new Paint();     final Rect src = new Rect((int)left, (int)top, (int)right, (int)bottom);   final Rect dst = new Rect((int)dst_left, (int)dst_top, (int)dst_right, (int)dst_bottom);     final RectF rectF = new RectF(dst);   paint.setAntiAlias(true);    canvas.drawARGB(0, 0, 0, 0);   paint.setColor(color);  canvas.drawRoundRect(rectF, roundPx, roundPx, paint);    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));     canvas.drawBitmap(bitmap, src, dst, paint);    return output; }
接下来是实战演示:

我把此函数封装在一个ImageUtil的工具类中,

iv_icon = (ImageView) findViewById(R.id.iv_icon);InputStream is = getResources().openRawResource(R.drawable.profile);  Bitmap bitmap = ImageUtil.getRoundBitmap(BitmapFactory.decodeStream(is));iv_icon.setImageBitmap(bitmap);

更多相关文章

  1. binder机制底层驱动浅析
  2. android sqlite用法
  3. [置顶] Android(安卓)NDK中结合汇编分析Crash行为
  4. Android(安卓)Binder机制(3) 本地服务注册过程
  5. Android游戏框架AndEngine使用入门
  6. Android将InputStream转换为String和byte[]
  7. Android下AlarmManager完整调用流程
  8. Android(安卓)Audio代码分析20 - queryEffects函数
  9. [Android] Smali基本语法

随机推荐

  1. 系统默认语言与系统支持的语言列表
  2. 坚果云企业网盘安全性怎么样?
  3. 使用 IXMLHTTPRequest 简单获取网页源代
  4. 语法基础: 使用不同的数据类型标记数组
  5. 使用WCF实现SOA面向服务编程—— 架构设
  6. {$POINTERMATH ON} 方便指针操作的编译指
  7. 将字符串转换成 UTF8 编码的函数
  8. 如何用 GDI 绘制阴影文字 - 回复
  9. SOA面向服务架构——SOA的概念
  10. 几个和当前路径相关的新函数