使用C#在两行之间绘制链接或路径

我试图在两条线之间画一条路径,如下图所示。

http://img.mukewang.com/609f60d100010b6a02950107.jpg

我用下面的代码来做到这一点


        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);

但是在使用此代码后,将绘制以下图形:

http://img.mukewang.com/609f60dd0001ae8802170150.jpg

天涯尽头无女友
浏览 255回答 3
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;
打开App,查看更多内容
随时随地看视频慕课网APP