C# PDFsharp open XGraphicsPath

C# PDFsharp open XGraphicsPath,c#,wpf,pdfsharp,C#,Wpf,Pdfsharp,我正在使用PDFsharp在PDF页面上绘制路径。我将所有点添加到XGraphicsPath路径,然后在XGraphics上绘制路径。但是,XGraphicsPath始终关闭我的路径(因此它始终将端点连接到起点)。是否可以不连接端点,以便有一条“开放”路径?我在PDFsharp的文档中找不到此功能 提前谢谢 我自己还没有尝试过,但似乎你不需要做什么特别的事情来获得一条开放的道路: 你没有显示任何代码,所以没有人可以尝试你的代码。我知道你3年前问过这个问题,但我最近一直在使用GDI+和PDFSh

我正在使用PDFsharp在PDF页面上绘制路径。我将所有点添加到XGraphicsPath路径,然后在XGraphics上绘制路径。但是,XGraphicsPath始终关闭我的路径(因此它始终将端点连接到起点)。是否可以不连接端点,以便有一条“开放”路径?我在PDFsharp的文档中找不到此功能


提前谢谢

我自己还没有尝试过,但似乎你不需要做什么特别的事情来获得一条开放的道路:


你没有显示任何代码,所以没有人可以尝试你的代码。

我知道你3年前问过这个问题,但我最近一直在使用GDI+和PDFSharp,我遇到了这个问题,所以也许我可以帮助别人

我在GDI+中绘制了一系列多段线。我决定尝试通过每次将控件绘制到一个一次性的
GraphicsPath.AddLines(PointF[])
调用循环中时更改一个DrawLines调用循环来对此进行优化

一旦我做了这个更改,调用DrawPath将把我所有的行(过去是分开的)从开始到结束绘制成一条长的连续路径

我在addlines之前添加了一个
GraphicsPath.StartFigure()
调用,它将我所有的多段线分开,并按照我想要的方式绘制它们

GraphicsPath myShapes;
for (int i = 0; i < PLineCount; i++)
{
    PointF[] points = new PointF[PLineCount];
    for (int ii = 0; ii < PLinePointCount; ii++)
    {       
        points[ii] = new PointF(X, Y);
    }
    myShapes.StartFigure();  // This is what I added to break the line segments apart.
    myShapes.AddLines(points);
}
GraphicsPath myShapes;
对于(int i=0;i
此代码不会按编写的方式运行,您必须添加代码以提供多段线中的点数以及每个点的X、Y坐标。您是否有预定义的形状或希望随机生成它们取决于您

我已经验证了XGraphics的启动图与GDI+一样,所以我认为这可能会解决您的问题

下面是不希望出现的版本的图像,以及通过在每个形状之前添加StartFigure来修复的图像

图形SPATH屏幕截图: