您的位置:首页 > 理论基础 > 计算机网络

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

2014-08-27 00:10 591 查看
关于网络图片处理成圆形一般都是通过网络拿到访问的图片访问地址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;

}

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

有不明白的欢迎留言!我们一起共同进步!表示谢谢!如果有技术问题欢迎加入我的QQ群
285526158.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐