我试图在两条线之间画一条路径,如下图所示。我用下面的代码来做到这一点 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);但是在使用此代码后,将绘制以下图形:
3 回答
手掌心
TA贡献1942条经验 获得超3个赞
哦,您使用的是onPaint事件,所以问题在于您正在绘制一条路径,这意味着Point将从第一行的结尾到下一行的起点。
第一行之后
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;
- 3 回答
- 0 关注
- 254 浏览
添加回答
举报
0/150
提交
取消