圆角头像的实现
2013-08-19 10:34
204 查看
图片处理类:
在Activity中调用:
public class ImageHelper { /** * 转换图片成圆形 * @param bitmap 传入Bitmap对象 * @return */ public static Bitmap toRoundBitmap(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; } }
在Activity中调用:
/* 将头像转为圆形 */ Resources res = getResources(); Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.head); head.setImageBitmap(ImageHelper.toRoundBitmap(bmp));
相关文章推荐
- Bootstrap—实现圆角、圆形头像和响应式图片
- 学习笔记之——Android中的Picasso实现圆形头像、圆角图片工具类
- 圆角头像的实现
- 圆角头像的实现
- Bootstrap实现圆角、圆形头像和响应式图片
- PorterDuffXfermode实现圆角、圆形头像
- Bootstrap中实现圆角、圆形头像和响应式图片/css3圆角、图片阴影效果总结
- Picasso实现下载圆形头像以及圆角图片
- Picasso实现下载圆形头像以及圆角图片
- 纯CSS实现兼容ie6以上的圆角头像
- 圆角头像的实现
- 安卓实现圆角头像,已封装成工具类,方便使用
- 【圆角头像的实现】
- fresco实现圆角、圆形头像
- 精简版BitmapShader实现圆形头像和圆角方形头像
- 圆角头像实现工具类
- Android布局中实现圆角边框
- jquery插件corner实现圆角边框的方法
- 基于jquery实现人物头像跟随鼠标转动
- 分享用CSS实现无图片圆角效果