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.
第一步处理先初始化好图片所在的资源
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.
相关文章推荐
- Android 自定义圆形头像CircleImageView支持加载网络图片的实现代码
- 【Android自定义View实战】之自定义圆形头像CircleImageView支持加载网络图片
- Android Glide+CircleImageView实现加载圆形图片列表
- Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】
- Android ImageView如何加载网络和本地图片资源
- Android第三方框架universal-image-loader[图片缓存加载]及其OOM问题处理【常用】,CardView使用[给列表中项+边框]
- android控件ImageView加载sdcard卡,网络及res中的图片
- android ImageView网络图片加载、动态设置尺寸、圆角..
- android使用ImageView加载本地SdCard图片和加载网络图片
- (转)Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框
- Android ImageView如何加载网络图片资源
- Android ImageView如何加载网络图片资源
- Android-smart-image-view加载网络图片
- 详解Android中Glide与CircleImageView加载圆形图片的问题
- android使用ImageView加载本地SdCard图片和加载网络图片
- Android ImageView加载圆形图片且同时绘制圆形图片的外部边缘边线及边框
- android网络图片加载处理库Picasso和universalimageloader使用简单案例
- Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】
- Android - 小功能 使用ImageView加载本地SdCard图片和加载网络图片
- android加载网络上的图片-使用SmartImageView