带边框的圆形图片
圆角图片:
public class CircleImageView extends ImageView{
public CircleImageView(Context context){
super(context);
}
public CircleImageView(Context context,AttributeSet attrs){
super(con'text,attrs);
}
public CircleImageView(Context context, AttributeSet attrs,int defStyle){
super(context,attrs,defStyle);
}
private int bWidth=10;//边框宽度
private int bColor=Color.WHITE;//边框颜色
//设置圆形图片的边框颜色
public void setBorderColor(int color){
bColor=color;
}
//设置圆形图片的边框高度
public void setBorderWidth(int width){
bWidth=width;
}
//设置圆形图片的边框宽度和颜色
public void setBorderWidth(int width,int color){
bWidth=width;
bColor=color;
}
public void setImageBitmap(Bitmap bm){
int d =Math.min(bm.getWidth,bm.getHeight());//得到圆直径
Bitmap dest=Bitmap.createBitmap(d,d,bm.getConfig());//创建一个副本
//画边框
Canvas c=new Canvas(dese);
Paint paint =new Paint();
paint.setColor(bColor);//边框颜色
paint.setAntiAlias(true);//设置抗锯齿
c.drawCircle(d/2,d/2,d/2,paint);//画圆
Path path=new Path();
path.addCircle(d/2,d/2,d/2-bWidth,,Paint.Direction.CW);
c.clipPath(path).//裁剪区域
Matrix matrix=new Matrix();//不缩放
c.drawBtimap(bm,matrix,paint);//把图画上去
super.setImageBtimap(dest);
}
}
public class MainActivity extends Activity{
private CircleImageView iv;
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
iv=(ColcleImageView) findViewById(R.id.iv);
iv.setBorderWidth(15,Color.BLUE);//设置边框宽度和颜色
iv.setImageBitmap(BItmapFactory.decodeResorce(getResource(),R.drawable.photo));//设置图片
}
}