簡體   English   中英

如何在所有繪制的點之間畫一條線?

[英]How do I draw a line between all the drawn points?

在繪畫活動中,我做到了:

List<Point> drawPoints = GetDrawPoints();

if (drawPoints.Count > 1)
{
    foreach (Point p in drawPoints)
    {
        e.Graphics.DrawLine(pen, p.X - 2, p.Y - 2, 4, 4);
    }
}

但是,它不是在后續點之間繪制線,而是從同一位置到每個點繪制兩條線。

我想用一條線連接所有點。

使用DrawLines並將List作為數組傳遞:

if (drawPoints.Count > 1)
{
    e.Graphics.DrawLines(pen, drawPoints.ToArray());
}

您以某種方式回答了自己的問題。 要畫一條線,您至少需要兩點。 但是您一直在相同位置之間繪制新聞線。 (您的可變點和位於(4; 4)中的點)。 您需要不斷更新foreach中的兩點並正確打印。

更好的是,使用DrawLines函數,並給出點列表。 與類似:

 e.Graphics.DrawLines(pen, drawPoints.ToArray());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM