我的应用程序的目标是绘制/绘制由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参考:
的摘录