3

我正在尝试使用Canvas.drawLine方法来绘制多边形

这是我正在使用的代码

Canvas canvas = new Canvas(cache);
Paint paint = new Paint();
paint.setStrokeWidth(16);
paint.setColor(this.currentDrawing.getColor());
paint.setFlags(Paint.ANTI_ALIAS_FLAG);
systemCanvas.drawBitmap(cache, 0, 0, paint);
paint.setStrokeCap(Cap.ROOUND);
canvas.drawLine(from.getLeft(), from.getTop(), to.getLeft(), to.getTop(), paint);

这是我得到的输出:

在此处输入图像描述

注意线条的渲染方式,它们在圆形上断裂并且连接不顺畅。我理解为什么会发生这种情况,但我不知道如何使它顺利和一致。

任何帮助表示赞赏。

4

3 回答 3

8

您可能还想这样做

mPaint.setAntiAlias(true);

于 2013-10-03T07:41:50.043 回答
2

请检查此答案,因为它与您的问题相似:

Android 如何沿着手指画一条平滑线

请让我知道这可不可以帮你!

于 2012-04-08T17:35:38.693 回答
0

您需要激活硬件加速。如果你不激活这个,你就不能使用antialias、cap、join等方法。

于 2014-01-23T18:01:02.267 回答