用鼠标写字,如果使笔迹平滑圆润?

chuxuecharp 2010-09-14 11:54:45
现在要做一个手写签批的功能,目前是用鼠标在特定区域写字。我的实现方法是在MOUSEMOVE中得到x,y,然后用LineTo画线,这样能够显示出鼠标移动的轨迹,但是画出的线不够平滑圆润。使用什么方法能够使这些线平滑圆润呢?目前仅知道有插值、拟和、滤波等等,但不知我想达到的效果到底使用哪种办法实现。

发现一个软件能够很好的表达出我的意图,所以在这贴个图。


如上图,上面是直接用鼠标写的,可以明显看出线不够平滑,下面是软件处理过后的效果,各条线已经很平滑的过渡了,我仅仅是想实现线的平滑,至于笔锋的效果暂时不考虑。

请各位给个意见吧。
...全文
880 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ftai08 2012-10-19
  • 打赏
  • 举报
回复
  从“永”字八法开始?点,横,竖,折,捺,撇……
  arpo666兄弟,提供图片看看,帮忙分析分析
lgstudyvc 2012-10-12
  • 打赏
  • 举报
回复
拟合 不复杂
arpo666 2012-10-12
  • 打赏
  • 举报
回复
兄弟,时隔两年,我也需要实现这样的功能,也是用画笔文字的,但是不够圆滑,拜托各位拉兄弟一把,QQ 847196432
xiuxianshen 2010-09-16
  • 打赏
  • 举报
回复
貌似PS是利用OpenGL+CG做的,可以借鉴一下
nadax065715 2010-09-16
  • 打赏
  • 举报
回复
- - 多重采样你采样越多就越平滑,你要是画很大的图够你爽的,网上比较多的抗锯齿就2次 三次插值。效果有差别速度差别也大。建议要有点用别忘给点分
chuxuecharp 2010-09-15
  • 打赏
  • 举报
回复
顶一下吧,看看有没有更多想法~或者代码
dzy198239 2010-09-14
  • 打赏
  • 举报
回复
是要消除笔画边缘的锯齿吗?
辰岡墨竹 2010-09-14
  • 打赏
  • 举报
回复
插值最简单,因为可以用多边形直接实现。如果要效果好,要考虑用贝兹曲线拟合。
wjhuangjin 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hankcs 的回复:]

用二次贝塞尔拟合
[/Quote]

+1
hankcs 2010-09-14
  • 打赏
  • 举报
回复
用二次贝塞尔拟合
swimmingfish2004 2010-09-14
  • 打赏
  • 举报
回复
试试分段三次样条函数。它每两个点之间是一个不超过三次的多项式,且能够保证在整条曲线上有连续的二阶导数。GSL实现了这样的这个功能,相关函数为:
gsl_interp_alloc,gsl_interp_init,gsl_interp_free.
lhz113 2010-09-14
  • 打赏
  • 举报
回复
朋友,我也想实现你同样的功能,也是用画笔,然后画线来签字的,但是不够圆滑,要是搞出来的话大家一起记得告诉我啊,QQ 570959607

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧