转换图片圆角

/** 
* 转换图片成圆形 
* @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;  
}  


// 下载图片转为bitmap  
public static Bitmap getHttpBitmap(String url) {  
URL u = null;  
Bitmap bmp = null;  
try {  
u = new URL(url);  


} catch (Exception e) {  
// TODO: handle exception  
}  
try {  
HttpURLConnection conn = (HttpURLConnection) u.openConnection();  
conn.setConnectTimeout(0);  
conn.setDoInput( true);  
conn.connect();  
InputStream ins = conn.getInputStream();  
bmp = BitmapFactory. decodeStream(ins);  
ins.close();  
} catch (Exception e) {  
// TODO: handle exception  
}  
return bmp;  
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值