android ImageView关于网络加载图片圆形处理

关于网络图片处理成圆形一般都是通过网络拿到访问的图片访问地址URL。我说个我做的方式  废话不说了直接上代码    

第一步处理先初始化好图片所在的资源

 ImageView   userimg = (ImageView) findViewById(R.id.userimage);

第二步是给ImageView赋值

我是通过json解析得到的书图片的地址的

String path = jsonObject.getJSONObject(0).getString("path");

userimg.setImageBitmap(getBitmap(path));

第三步就是把得到的图片地址进行处理得到圆形图片 ,不过圆形最好是获取正方形的图片,如果是长方形的话就是椭圆了 ,这一点我也不太明白,我只能做到这了希望后续这加以改进。

public Bitmap getBitmap(String s) {
Bitmap bitmap = null;
try {
URL url = new URL(s);
bitmap = BitmapFactory.decodeStream(url.openStream());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
        Canvas canvas = new Canvas(outBitmap);
        final int color =0xff424242;
        final Paint paint = new Paint();
        final Rect rect = new Rect(0,0,bitmap.getWidth(),bitmap.getHeight());
        final RectF rectF = new RectF(rect);
        final float roundPX = bitmap.getHeight()/2;
        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, rect, rect, paint);
        return outBitmap;
}

      希望和大家一起学习共同学习,祝福大家越来越厉害!!不喜勿喷 请多多指教!

喜欢的可以关注微信公众号,哪里每天都会推荐一篇开源项目Git项目地址在里欢迎订阅 




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值