贝塞尔曲线和canvas

如何在canvas上绘制贝塞尔曲线。 我只有起点和终点。 我想画出从起点到终点的线。 我怎么能做到这一点?

Related of "贝塞尔曲线和canvas"

您可以使用Path.quadTo()Path.cubicTo() 。 示例可以在SDK示例(FingerPaint)中find。 在你的情况下,你只需要计算中间点,然后通过你的三点quadTo() ..

一些代码给你:

  • (x1,y1)(x3,y3)分别是你的起点和终点。
  • 创build绘画对象只有一次(例如在您的构造函数)

     Paint paint = new Paint() { { setStyle(Paint.Style.STROKE); setStrokeCap(Paint.Cap.ROUND); setStrokeWidth(3.0f); setAntiAlias(true); } }; final Path path = new Path(); path.moveTo(x1, y1); final float x2 = (x3 + x1) / 2; final float y2 = (y3 + y1) / 2; path.quadTo(x2, y2, x3, y3); canvas.drawPath(path, paint); 

随着Path你可以画立方和二次贝塞尔曲线。 请参阅cubicTo()quadTo()

你需要设置颜色…你的代码是正确的x3,y3quadTO() x3,x3更改为x3,y3