如何以不锯齿的方式绘制由多条线段组成的曲线

How to draw a curve consisting of multiple line segments in a non-jagged way

我正在尝试编写一个程序,将传入的 USB 数据放到折线图上。我这样做的方法是在 canvas 上绘制一串连接所有数据点的直线。问题是生成的线不平滑,如下所示:

我尝试使用 Graphics Context 的 lineTo(x, y) 方法,但这只会让情况变得更糟。我还尝试更改 Line Cap 和 Line Join 参数,但这并没有太大帮助。

有没有更好的方法来玩 "Connect the Dots" JavaFX Graphics Context?也许用贝塞尔曲线?如果有,请告诉我。

我最终采用了最简单的解决方案,即使用 BoxBlur 效果:

BoxBlur blur = new BoxBlur();
blur.setWidth(2);
blur.setHeight(2);
blur.setIterations(1);

gc.setEffect(blur);

 ...

//Don't forget to remove the effect before clearing
gc.setEffect(null);
gc.clearRect(0, 0, width, height);

这不是一个精确的解决方案,但对我来说效果很好。