绘制一系列线条并移动它们



我想画一系列线并移动它们,但我想将第 1 行的终点连接到第 2 行的起点......当我移动第 1 行或第 2 行时...另一条线将通过更改其点来影响

我在这里使用示例图形 - 绘制线 - 绘制线并移动它

并在代码中稍作更改以绘制线条

void LineMover_Paint(object sender, PaintEventArgs e)
{
    e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
    e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
    var pen = new Pen(Color.Black, 2);
    e.Graphics.DrawLine(pen, Lines[0].StartPoint, Lines[0].EndPoint);
    e.Graphics.DrawLine(pen, Lines[0].EndPoint, Lines[2].StartPoint);
    e.Graphics.DrawLine(pen, Lines[2].StartPoint, Lines[2].EndPoint);
}

但是当我移动它们时,我没有我想要的东西......任何帮助??

你还没有写出你在应用程序中看到的效果是什么,这会很有帮助。但是,查看您提供的代码,索引似乎有问题。为了使用后续行,应使用索引 0 和索引 1,而不是 02

试试这个代码:

void LineMover_Paint(object sender, PaintEventArgs e)
{
    e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
    e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

        var pen = new Pen(Color.Black, 2);
        e.Graphics.DrawLine(pen, Lines[0].StartPoint, Lines[0].EndPoint);
        e.Graphics.DrawLine(pen, Lines[0].EndPoint, Lines[1].StartPoint);
        e.Graphics.DrawLine(pen, Lines[1].StartPoint, Lines[1].EndPoint);
}

让我知道它是否适合您。如果没有,请提供更详细的信息。

另一个问题是,您是否只想绘制两条或更多连接到其邻居的线?要绘制更多线条,可以考虑使用Graphics.DrawLines()方法。它允许您分割定义一组连接线的点数组。更多信息和示例代码可在此处找到:http://msdn.microsoft.com/en-us/library/7ewkcdb3.aspx。

相关内容

  • 没有找到相关文章

最新更新