我目前正在开发一个基于网络的绘图应用程序,我使用指针的位置来生成一条线。速度决定了线的宽度。
我的问题是,获取位置时浏览器事件不会产生干净的数据,因此除了柔软和平滑之外,宽度变得非常“抖动”。
我想知道在制作图纸时,平滑这类数据的最佳方法是什么?我正在考虑曲线拟合,但我不确定哪种算法在我的情况下可以更好地工作。
P.S。我不是每次都在画布上重新绘制线条,我只是添加了“最后一部分”。
谢谢!
答案 0 :(得分:1)
您可以尝试从paper.js中取出“平滑”和“简化”功能(他们的MIT许可证允许这样做)。在边缘检测项目中,它对我很有用。请在此处查看:http://paperjs.org/tutorials/paths/smoothing-simplifying-flattening。