-
Notifications
You must be signed in to change notification settings - Fork 196
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve Anti-Jitter feature. | 改善画笔的防抖功能。 #371
Comments
以及又仔细看了一下,问题可能出现在采样上,最终生成的曲线继承了最初画笔的锯齿。 或许,采样精度需要进一步的提升?或者,这个问题仅出现在HiDPI即200% DPI下? 需要进一步的调查。 在松开鼠标前,画笔的锯齿跳变是以2像素为一个单位的,或许这是造成锯齿的原因。 |
这只是参数设置的问题。目前使用的参数是使得拟合结果尽可能接近于平滑之前的,确实不太理想,我会在下版本做调整。后续或许可以把这个参数交给用户设置。 |
更改QT_AUTO_SCREEN_SCALE_FACTOR使得
之后,线条变得平滑了一些,但是效果依旧不够理想,至于 |
Snipaste 使用的路径拟合算法是这个: 在乎这个的用户不多,所以就没必要改算法了,当然有现成可用的就另说了。 🌚 |
Cubic Hermite Spline的算法我在UE4里看到过,你或许可以在google上找到不少样例代码,其他的诸如Catmull–Rom的也应该能找到。 |
你上面给的是 smooth 吧,我用到的是 simplify …… 我用这个算法,就是因为它提供了 demo 并且效果让我满意,所以除非 有直接能用的并且效果明显更好的,没有必要做改变。 |
有更新吗?最近又一次被这个问题困扰了,或许可以:
|
https://docs.snipaste.com/zh-cn/advanced-configs?id=misc
|
感谢。直接关闭平滑后效果好一些,但抗锯齿也随之消失了。 我注意到,在前文中的例子: 以及,线条的抗锯齿和平滑是否应该分开设置? |
@wdhwg001 输入不同哦,对于相同的鼠标移动速度,桌面应用能够获得的输入点更密集,你在 paperjs.org 缓慢地移动鼠标才能模拟 Snipaste 获得的输入,这种情况下网站计算的效果并不会更好。 |
像这样,当手绘尝试绘制一个弧形时,尽管手没有抖,但最终松开鼠标后生成的线条却抖的厉害。
我不知道目前Snipaste使用的防抖算法,不过或许可以尝试一下Cubic Hermite Spline或者其他Spline算法?
插值问题其实是较为复杂的,Cubic Hermite Spline可能是一个比较好的方案,但也有其他的,或许这里会有一些思路: https://www.zhihu.com/question/53708752/answer/136236819
The text was updated successfully, but these errors were encountered: