如何在WPF画布中绘制一组线和曲线段?

时间:2014-03-24 01:23:54

标签: c# wpf

我的应用程序的目标是绘制/绘制由Acrobat生成的一组线和曲线段(因此,曲线定义为3点贝塞尔曲线)。绘制线段很容易:

private void drawLine(double x1, double y1, double x2, double y2)
{
    Line line = new Line()
    {
        X1 = x1,
        Y1 = y1,
        X2 = x2,
        Y2 = y2
    };

    line.Stroke = Brushes.Black;
    myCanvas.Children.Add(line);
}

我很惊讶地发现绘制曲线很多更复杂。对于初学者来说,似乎Microsoft网站中的所有示例都是针对XAML的。我需要在代码背后并基于三次贝塞尔曲线。

这是我初步的,直观的尝试:

private void drawBezier(Point point1, Point point2, Point point3)
{
    BezierSegment bezier = new BezierSegment()
    {
        Point1 = point1,
        Point2 = point2,
        Point3 = point3,
        IsStroked = true
    };

    myCanvas.Children.Add(bezier);
}

我应该补充说,我的程序处理的所有曲线段实际上都是圆圈。 Adobe决定将它们近似为4立方贝塞尔曲线段。以下是 PDF参考

的摘录

http://patriot.net/~ramon/misc/Bezier-Curves.png

0 个答案:

没有答案