Canvas.drawLine()如何获得平滑的线条?

问题描述 投票:0回答:1

我尝试使用 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);

我得到的是这个

但是我想要得到这样的东西

java android canvas drawing line
1个回答
0
投票

您可以将canvas.Antialiasing设置为CanvasAntialiasing.Antialiased:

canvas.Antialiasing = CanvasAntialiasing.Antialiased;

它可能适合您的情况。

© www.soinside.com 2019 - 2024. All rights reserved.