fun circleBitmap(bitmap: Bitmap):Bitmap{
var bitmapCircle=Bitmap.createBitmap(100,100,Bitmap.Config.ARGB_8888)
var canvas=Canvas(bitmapCircle)
var paint=Paint()
paint.isAntiAlias=true
// 使用Shader着色器 画
/* paint.setShader(BitmapShader(bitmap,Shader.TileMode.CLAMP,Shader.TileMode.CLAMP))
canvas.drawCircle(50f,50f,40f,paint)
canvas.save()*/
//使用Xfermode图像混合模式
canvas.drawCircle(50f,50f,40f,paint)
paint.setXfermode(PorterDuffXfermode(PorterDuff.Mode.SRC_IN))
canvas.drawBitmap(bitmap,0f,0f,paint)
/*
path裁剪圆形
var path=Path()
path.addCircle(50f,50f,40f,Path.Direction.CCW)
canvas.clipPath(path);
canvas.drawBitmap(bitmap,0f,0f,paint)*/
paint.reset()
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(3f);
canvas.drawCircle(50f, 50f, 40f, paint);
return bitmapCircle;
android裁剪圆形几种方式.
于 2022-05-23 14:40:04 首次发布