0

C# の GraphicsPath.AddLines のポイントに反しているように見える奇妙な動作に気付きました。AddLines は、一連の接続された線分です。次のコードは、これを当てはまらないようです。

        Bitmap BuildingBitmap = new Bitmap(MaxX - MinX, MaxY - MinY);
        Graphics BuildingGraphics = Graphics.FromImage(BuildingBitmap);
        BuildingGraphics.Clear(Color.Transparent);
        GraphicsPath BuildingShape = new GraphicsPath();
        BuildingShape.StartFigure();
        BuildingShape.AddLines(BuildingPointsArray);
        BuildingShape.CloseFigure();

        BuildingGraphics.DrawPath(new Pen(Color.Black, 1.5f), BuildingShape);

BuildingPointsArray は次のポイントの配列です

7 0
58 6
55 45
62 45
60 59
67 60
66 82
47 80
46 96
0 92
7 0

これを Excel の散布図でグラフ化すると、建物の形状が正しく、Excel の線引き機能で隙間がないことがわかります。評判がないようなので、写真を投稿することはできません。 imgur リンクはこちら: Excel グラフ http://i.imgur.com/aqSl2TC.png

ただし、私の png 出力では、2 つのギャップがあることがわかります。

AddLines png http://i.imgur.com/zgqD3YZ.png

なぜこれが考えられるのかについて何か考えはありますか? レンダリングの問題である可能性があると考えて、線の太さを増やしてみました。運がない。

4

1 に答える 1

0

線は確かに接続されていますが、あなたのBitmap.

それを作る:

Bitmap BuildingBitmap = new Bitmap(MaxX - MinX + 1 , MaxY - MinY + 1);
于 2015-02-28T00:28:17.143 に答える