我正在尝试编写一个程序,将传入的 USB 数据放到折线图上。我这样做的方法是在 Canvas 上绘制一串连接所有数据点的直线。问题是生成的线条不平滑,如下所示:
我尝试使用 Graphics Context 的 lineTo(x, y)
方法,但这只会让事情变得更糟。我还尝试更改 Line Cap 和 Line Join 参数,但这并没有多大帮助。
有没有更好的方法来使用 JavaFX 图形上下文来播放“连点”?也许用贝塞尔曲线?如果有,请告诉我。
最佳答案
我最终采用了最简单的解决方案,即使用 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);
这不是一个精确的解决方案,但它对我的目的来说效果很好。
关于canvas - 如何以不锯齿的方式绘制由多条线段组成的曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45310820/