5

在我的 WPF 应用程序中,我正在研究一种绘图机制,以便在图像顶部进行注释。现在我有绘制路径的功能,其中我绘制的路径将由绘图中收集的点组成。更紧密地,我将 StylusPoints 添加到 InkPresenter,因为我通过 MouseMoved 事件收集它们。InkPresenter 被设置为 Canvas 的子项,然后它将保存绘图。如果有任何不同,我还可以在路径中绘制 LineSegment 吗?

我对这幅画的问题是它不会很流畅。因此,我希望将结果曲线表示为贝塞尔曲线。这是一种在 Adob​​e Illustrator 中使用的技术。现在; 有没有办法处理这个?首先构建一个代表绘制的凹凸曲线的点集合,然后将其转换为类似于绘制曲线的贝塞尔曲线?

4

2 回答 2

3

如果要将曲线拟合到一组点,请考虑样条曲线(贝塞尔曲线是其中的一个子集)。

这是一个关于如何将贝塞尔曲线拟合到四个点的 PDF,很容易扩展到 n。这来自 Don Lancaster 的 guru's lair,其中有一组很棒的Beziers 教程

于 2010-02-15T15:58:39.857 回答
2

Charles Petzold 在 MSDN Magazine 中他的带有数据模板的折线图文章的示例代码中有一个类 CanonicalSpline。

示例代码

该类的关键方法从一组点创建一个 PathGeometry。

于 2010-02-15T15:43:52.627 回答