项目中经常会用到一些图片的裁剪作为头像,需求基本是圆形或者是矩形的。
1、先上个效果图
2、背景是由选择图片传递过去显示的
主要思路
1、矩形在四周绘制四个矩形,为透明的黑色,注意绘制的四个矩形不要重叠,不然会有黑色的重叠框子无法查看,绘制完成边框之后,在中间绘制一个有白色边框的矩形。
2、圆形在四周绘制一个半径为高度一半的圆弧,为透明的黑色,绘制完边框之后,在中间绘制一个有白色变宽的圆形
3、获取bitmap,使用Bitmap.drawBitmap();方法,获取矩形或者圆形的bitmap
3、矩形主要代码
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int width = this.getWidth();
int height = this.getHeight();
mWidth = width - mHorizontalPadding * 2;
mVerticalPadding = (height - mWidth) / 2;
mPaint.setColor(0xaa000000);
//绘制左边
canvas.drawRect(0,