0

System.Drawing.Graphic.DrawLines(Pen, Point[])私のアプリケーションは、ポイントを配列に保存し、ポイントを結ぶ線を描画するために呼び出します。それは機能しますが、ドローラインは常に配列の最初のポイントとフォームの左上隅の間に余分な線を配置するようです。

わかりました、ちょっと待ってください、私はサンプルを台無しにしました、できるだけ早く修正してください

コードサンプル:

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

問題のある画像

ここに画像の説明を入力

4

1 に答える 1

2

Graphics.DrawLinesメソッド:

終点の配列を結ぶ一連の線を描画します。配列の最初の 2 点は、最初の線分を指定します。追加の各点は、開始点が前の線分の終点である線分の終点を指定します。

配列の最初または最後に、デフォルト値で初期化された余分なポイントが1つあると思います。考えられる理由 - N+1 の長さ (N はポイント数) を持つポイントの配列を作成します。また、最初または最後の点に X と Y を指定しません。したがって、デフォルトのままですX = 0, Y = 0

于 2012-12-27T16:21:03.567 に答える