我尝试使用 Canvas.drawLine() 创建一条平滑的线条并将其保存到位图。 这是我使用的代码
Bitmap bitmap = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint();
paint.setColor(ContextCompat.getColor(context, R.color.black));
paint.setStrokeWidth(3.5f);
paint.setDither(true);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
paint.setStrokeCap(Paint.Cap.ROUND);
paint.setAntiAlias(true);
canvas.drawLine(x1, y1, x2, y2, paint);
我得到的是这个
但是我想要得到这样的东西
您可以将canvas.Antialiasing设置为CanvasAntialiasing.Antialiased:
canvas.Antialiasing = CanvasAntialiasing.Antialiased;
它可能适合您的情况。