关于网络图片处理成圆形一般都是通过网络拿到访问的图片访问地址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项目地址在里欢迎订阅