在我的WPF应用程序中,我正在使用绘图机制在图像上进行注释。现在我有绘制路径的功能,我的绘制路径将包含从绘图中收集的点。更紧密的是,当我通过MouseMoved事件收集它时,我将StylusPoints添加到InkPresenter。 InkPresenter被设置为Canvas的子项,然后它将保存绘图。如果有任何不同,我还可以在路径中绘制一个LineSegment?
我对这张图的问题在于它不会很流畅。因此,我希望将得到的曲线表示为贝塞尔曲线。这是一种技术,例如,在Adobe Illustrator中。现在;有办法处理这个吗?首先构建一个表示绘制的凹凸曲线的点集合,然后将其转换为类似于绘制曲线的贝塞尔曲线?
答案 0 :(得分:3)
如果您想将曲线拟合到一组点,请考虑样条曲线(Bezier是其子集)。
Here is a PDF about how to fit a Bezier to four points,很容易扩展到n。这来自Don Lancaster的大师的巢穴,它有一套很棒的tutorials on Beziers。
答案 1 :(得分:2)
Charles Petzold在MSDN杂志的“Line Chart With Data Templates”文章的示例代码中有一个类CanonicalSpline。
该类的关键方法从一组点创建一个PathGeometry。