我正在使用PDFsharp在PDF页面上绘制路径。我将所有的点添加到XGraphicsPath路径,然后在XGraphics上绘制路径。但是,XGraphicsPath总是关闭我的路径(因此它总是将终点连接到起点)。有没有可能不连接端点,这样我就有了一个“开放”的路径?我在PDFsharp的文档中找不到这个功能。
提前感谢!
发布于 2014-07-30 21:18:53
我自己还没有尝试过,但似乎你不需要做任何特殊的事情就可以得到一个开放的路径:
http://pdfsharp.net/wiki/Graphics-sample.ashx#Stroke_an_open_path_12
您不显示任何代码,因此没有其他人可以尝试您的代码。
发布于 2018-12-21 23:53:27
我知道你在3年前问过这个问题,但我最近一直在使用GDI+和PDFSharp,我遇到了这个问题,所以也许我可以帮助一些人。
我让一个循环在GDI+中画了一堆折线。我决定尝试通过在每次我的控件被拉入GraphicsPath.AddLines(PointF[])调用的一次性循环中时更改DrawLines调用的循环来优化这一点。
一旦我做了这个更改,调用DrawPath就会把我所有的线(过去是分开的)从头到尾画成一条长的连续的路径。
我在addline之前添加了一个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);
}这段代码不会像编写的那样运行,您必须添加代码来提供多段线中的点的数量,以及每个点的X、Y坐标。您是否有预定义的形状或想要随机生成它们由您决定。
我已经验证了XGraphics和GDI+一样都有StartFigure,所以我认为这可能会解决你的问题。
以下是不受欢迎的版本的图像,以及通过在每个形状之前添加StartFigure修复的图像。
GraphicsPath截图:

https://stackoverflow.com/questions/25016777
复制相似问题