我正在尝试在两条线之间绘制一条路径,如下所示。
我使用下面的代码来做到这一点
Pen usedpen= new Pen(Color.Black, 2);
//Point[] p = {
// new Point(518,10),
// new Point(518,20),
// new Point(518-85,15)
//};
GraphicsPath path = new GraphicsPath();
path.StartFigure();
path.AddLine(new Point(518, 10), new Point(433, 10));
path.AddLine(new Point(518, 40), new Point(433, 40));
path.AddLine(new Point(433,10), new Point(433,40));
//usedpen.LineJoin = LineJoin.Round;
e.Graphics.DrawPath(usedpen, path);
但使用这段代码后,绘制了如下图形:
任何帮助
提前致谢
最佳答案
哦,你正在使用 onPaint 事件,所以问题是你正在绘制一条路径,这意味着点将从第一行的末尾到下一行的开头。
第一行之后
path.AddLine(new Point(518, 10), new Point(433, 10));
现在点在 (433, 10)
现在下一行说从 (518, 40) 到 (433, 40)
现在实际发生的是从 (433, 10) 到 (518, 40) 绘制了一条线,因为它是一条继续绘制的路径。
GraphicsPath path = new GraphicsPath();
path.StartFigure();
path.AddLine(new Point(518, 10), new Point(433, 10));
path.AddLine(new Point(433, 10), new Point(433, 40));
path.AddLine(new Point(433, 40), new Point(518, 40));
usedpen.LineJoin = LineJoin.Round;
关于c# - 使用c#在两条线之间绘制链接或路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50028728/