Android Canvas.drawLine不流畅,不一致

时间:2012-04-08 14:22:04

标签: android android-canvas android-view

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

这是我得到的输出:

enter image description here

注意线条渲染的方式,它们会破坏圆形并且不能平滑地连接。我明白为什么会这样,但我不知道如何使它顺利和一致。

感谢任何帮助。

3 个答案:

答案 0 :(得分:7)

您可能还想这样做

mPaint.setAntiAlias(真);

答案 1 :(得分:2)

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

Android How to draw a smooth line following your finger

请告诉我这是否有帮助!

答案 2 :(得分:0)

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