2012-12-27 30 views
0

我的應用程序將點保存在一個數組中,然後調用System.Drawing.Graphic.DrawLines(Pen, Point[])來繪製連接點的線。它可以工作,但畫線似乎總是在數組的第一個點和窗體的左上角之間放置一條額外的線。DrawLines繪製額外的不需要的線

確定等一下,我儘快做與樣品亂七八糟,其固定

代碼示例:

Pen black = new Pen(Color.black, 2); 
MyGraphicObject = Graphics.FromImage(picture); 
Point[] linee = new Point[5]; 
public void check (int a, int b) 
{   
    linee[0].X = (b) * 30 + 13; 
    linee[0].Y = (a-1) * 30 + 13; 
    linee[1].X = (b+1) * 30 + 13; 
    linee[1].Y = (a) * 30 + 13; 
    linee[2].X = (b) * 30 + 13; 
    linee[2].Y = (a+1) * 30 + 13; 
    linee[3].X = (b-1) * 30 + 13; 
    linee[3].Y = (a) * 30 + 13; 
    linee[4].X = (b) * 30 + 13; 
    linee[4].Y = (a-1) * 30 + 13; 
    MyGraphicObject.DrawLines(black, linee); 
} 

圖像的問題

enter image description here

+2

請將代碼作爲文本發佈,而不是圖像。 –

+8

這很有趣,你如何聲明一個大小爲4的數組,並填充它的5個值... – Rotem

+0

@JonB他說他有問題發佈它爲文本(但省略了哪些問題) –

回答

2

方法:

繪製了一系列連接終點數組的線。數組中的前兩個點指定第一行。每個附加的 點指定一個線段的結尾,其起點爲上一個線段的末端點 。

我想你有一個額外的點,無論是在開始或結束的數組,用默認值初始化。可能的原因 - 您可以創建長度爲N + 1的點陣列(其中N是點號)。並且您不提供X和Y作爲第一個或最後一個點。因此它保持默認X = 0, Y = 0

+0

哦,我明白了,那是我的問題。在問之前應該檢查得更好。 – user1909612