【发布时间】:2011-01-12 04:40:20
【问题描述】:
假设我有一个三次贝塞尔路径,如下所示(格式化为与 Raphael 路径函数一起使用):
M55 246S55 247 55 248
只是一个例子。这取自我的绘图应用程序,当用户按住鼠标按钮时,我使用光标画一条线,有点像铅笔或记号笔。每次用户移动鼠标时,我都使用 jquery 的 mousemove 事件在两点之间画线。在画线之前还有另一个(参考点),这样就可以创建贝塞尔曲线了。
这是我的问题:是否有可能让拉斐尔只画给定路径的一半?我知道 getSubpath() 函数,但如果我对贝塞尔曲线的理解是正确的,那么计算第二个参数将相当困难。 animate 函数的问题在于它创建了双线(也就是说,它创建了我想要的曲线,以及不应显示的围绕它的四四方方的线,可能是因为鼠标的移动速度超过了动画可以处理的速度)。
当然,如果我的方法本身在某些方面存在缺陷(或者我对可能解决方案的理解),我很想听听。任何帮助将不胜感激。
【问题讨论】:
-
“一半”是什么意思?你想画哪一半?
-
我想画前半部分(从鼠标移动开始到贝塞尔曲线的中点)。这样做的理由是消除从一个光标位置到下一个光标位置绘制线条时总是出现的边缘。
标签: javascript jquery svg raphael bezier